Halaman ini menjelaskan praktik terbaik untuk transfer sistem file.
Praktik terbaik performa
Berikut adalah praktik terbaik untuk memastikan performa transfer yang baik:
Lakukan tolok ukur performa Anda dengan mentransfer korpus data besar, biasanya berukuran minimal 100 GB.
Storage Transfer Service adalah layanan berskala besar dan dioptimalkan untuk throughput, sehingga performa Anda pada set data pengujian yang sangat kecil tidak menunjukkan performa Anda pada set data besar dalam produksi.
Batasi setiap folder sumber hingga 1 juta file. Direktori yang berisi jutaan file dapat memperlambat seluruh transfer.
Jalankan agen di virtual machine (VM) terpisah sehingga Anda dapat menskalakan penggunaan resource secara lebih efektif.
Pastikan antarmuka jaringan di mesin agen disesuaikan untuk bandwidth baca/tulis yang Anda butuhkan.
Misalnya, jika Anda bermaksud memanfaatkan sepenuhnya jaringan wide area (WAN) 20 Gbps, antarmuka jaringan mesin agen Anda harus mendukung 20 Gbps untuk membaca data dari sistem file berjaringan Anda, dan 20 Gbps lainnya untuk mentransfer data ke Cloud Storage, atau total bandwidth 40 Gbps.
Pantau CPU, memori, dan jaringan di mesin agen untuk memastikan bahwa mesin tidak terbebani oleh workload lain, karena hal ini dapat memengaruhi performa secara negatif. Lihat persyaratan hardware agen untuk mengetahui angka CPU dan memori yang disarankan.
Upload multibagian
Jika transfer Anda dilakukan dari sistem file POSIX ke Cloud Storage, atau antar-sistem file POSIX, pertimbangkan untuk mengaktifkan upload multipart. Upload multipart dapat mempercepat transfer yang mencakup file besar hingga 300% dengan membagi file besar (>1 GiB) menjadi beberapa bagian yang lebih kecil dan mengupload bagian-bagian tersebut secara paralel.
Sistem file yang kompatibel dengan HDFS dan S3 tidak mendukung upload multibagian.
Mengaktifkan upload multibagian
Untuk mengaktifkan upload multibagian:
Anda harus memberikan izin yang diperlukan kepada akun yang mengizinkan agen transfer, baik akun pengguna maupun akun layanan.
Bucket tujuan atau perantara tidak boleh memiliki kebijakan retensi atau penangguhan objek.
Setelah diaktifkan, Layanan Transfer Penyimpanan akan otomatis menggunakan upload multipart jika hal tersebut kemungkinan akan mempercepat transfer.
Mengonfigurasi aturan siklus proses objek multipart
Anda dapat menggunakan Cloud Storage Object Lifecycle Management untuk membatalkan upload multibagian yang tidak lengkap dan menghapus bagian terkait. Lihat Membatalkan upload multibagian yang tidak lengkap dalam dokumentasi Cloud Storage.
Sebaiknya tetapkan nilai age selama 7 hari.
Menonaktifkan upload multibagian
Untuk menonaktifkan upload multipart, instal ulang agen transfer menggunakan docker run
dan teruskan --enable-multipart=false:
sudo docker run --ulimit memlock=64000000 -d --rm \ -v /usr/local/research:/usr/local/research \ gcr.io/cloud-ingest/tsop-agent:latest \ --project-id=PROJECT_ID \ --agent-pool=AGENT_POOL \ --creds-file=CREDENTIAL_FILE \ --hostname=$(hostname) \ --enable-multipart=false
Ganti kode berikut:
PROJECT_IDmenentukan project ID yang menghosting transfer.CREDENTIAL_FILE: jika agen transfer menggunakan akun layanan untuk autentikasi, tentukan jalur ke file kredensial akun layanan berformat JSON.
Atau, cabut izin yang diperlukan dari akun yang mengizinkan agen transfer, baik akun pengguna maupun akun layanan.
Memaksimalkan performa agen transfer
Performa transfer Anda dipengaruhi oleh variabel berikut:
Kemampuan sistem file.
Batasan hardware yang mendasarinya.
Jenis media hard drive, bus input/output, dan konektivitas jaringan area lokal (LAN) memengaruhi performa.
Throughput dan pemanfaatan WAN.
WAN yang lebih lambat atau sangat banyak digunakan akan memperlambat performa.
Karakteristik file.
Misalnya, banyak file besar memiliki throughput jaringan yang lebih tinggi daripada banyak file kecil karena overhead jaringan.
Karena variabel ini, kami tidak dapat memprediksi performa sebenarnya atau memberikan jumlah agen yang optimal untuk digunakan.
Setidaknya, sebaiknya gunakan tiga agen, di berbagai mesin jika memungkinkan, sehingga transfer Anda tetap toleran terhadap kesalahan. Anda dapat menambahkan agen transfer saat transfer sedang berjalan, karena performa meningkat secara dinamis.
Untuk mengamati dampak penambahan agen, dan untuk memilih jumlah agen yang paling sesuai untuk lingkungan Anda, lakukan hal berikut:
Mulai transfer besar yang memerlukan waktu minimal 1 jam untuk dijalankan. Misalnya, mulai transfer yang berisi setidaknya 100 ribu file dan berukuran total setidaknya 100 GB.
Gunakan Cloud Monitoring untuk mengamati throughput agen secara keseluruhan.
Tunggu hingga throughput stabil, dan tentukan apakah Anda dibatasi oleh kapasitas WAN atau batas bandwidth Anda.
Jika Anda belum mencapai kapasitas WAN, dan Anda belum mencapai batas transfer yang diinginkan, tambahkan agen lain. Agen tambahan akan otomatis meningkatkan throughput transfer. Tunggu sekitar 3 menit hingga throughput stabil di Cloud Monitoring.
Ulangi langkah 3 dan 4, tambahkan satu agen dalam satu waktu hingga Anda mencapai batas yang diinginkan. Selama resource komputasi, sistem file, dan jaringan tersedia, Anda dapat menjalankan hingga 100 agen secara bersamaan per kumpulan agen.
Jika Anda menggunakan bandwidth keluar secara maksimal sebelum mencapai batas yang diinginkan, Anda dapat melakukan salah satu hal berikut:
- Mengontrol bandwidth yang digunakan oleh Storage Transfer Service.
- Mendapatkan lebih banyak bandwidth jaringan.
Jika Anda telah menambahkan agen, tetapi throughput tidak meningkat dan WAN Anda tidak jenuh, selidiki throughput sistem file. Dalam kasus yang jarang terjadi, throughput sistem file mencapai titik jenuh, sehingga menghambat kemampuan Anda untuk meningkatkan performa transfer.
Memberi nama agen
Saat memberi nama agen, sebaiknya Anda melakukan hal berikut:
Selalu sertakan nama host di agen Anda. Hal ini membantu Anda menemukan mesin tempat agen berjalan. Sebaiknya teruskan
--hostname=$(hostname)ke perintah Dockerrun.Pilih skema awalan agen yang membantu Anda mengidentifikasi agen dalam konteks pemantauan dan organisasi infrastruktur Anda. Contoh:
Jika Anda memiliki tiga project transfer terpisah, Anda dapat menyertakan nama tim di agen Anda. Misalnya,
logistics.Jika Anda menjalankan dua project transfer yang berbeda untuk dua pusat data yang berbeda, sebaiknya sertakan nama pusat data dalam awalan agen. Misalnya,
omaha.