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 pada performa Anda dengan mentransfer korpus data besar, biasanya dengan berukuran minimum 100 GB.
Storage Transfer Service adalah layanan transfer data berskala besar yang dioptimalkan untuk throughput layanan, jadi kinerja Anda pada {i>dataset<i} pengujian yang sangat kecil bukanlah indikasi performa Anda pada set data yang besar dalam produksi.
Batasi setiap folder sumber hingga 1 juta file. Direktori yang berisi jutaan file dapat memperlambat seluruh transfer.
Jalankan agen di mesin virtual (VM) terpisah agar Anda dapat menskalakan untuk konsumsi resource secara lebih efektif.
Pastikan antarmuka jaringan di mesin agen memiliki ukuran untuk {i>bandwidth<i} baca/tulis yang Anda butuhkan.
Misalnya, jika Anda ingin sepenuhnya memanfaatkan jaringan area luas 20 Gbps (WAN), antarmuka jaringan mesin agen Anda harus mendukung 20 Gbps untuk membaca data dari sistem file dalam jaringan, dan 20 Gbps lagi ke dan transfer data ke Cloud Storage, atau total bandwidth 40 Gbps.
Pantau CPU, memori, dan jaringan pada mesin agen untuk memastikan bahwa tidak kewalahan dengan beban kerja lain, karena hal ini dapat berdampak negatif memengaruhi performa. Lihat persyaratan hardware agen untuk jumlah memori dan CPU yang disarankan.
Upload multibagian
Jika transfer Anda berasal dari sistem file POSIX ke Cloud Storage, atau antara sistem file POSIX, pertimbangkan untuk mengaktifkan upload multibagian. Upload multibagian dapat mempercepat transfer yang menyertakan file besar hingga 300% dengan memecah file besar (>1 GiB) menjadi bagian-bagian yang lebih kecil dan menguploadnya bagian-bagian tersebut secara paralel.
Sistem file yang kompatibel dengan HDFS dan S3 tidak mendukung upload multibagian.
Aktifkan upload multibagian
Untuk mengaktifkan upload multibagian:
Anda harus memberikan izin yang diperlukan untuk akun yang memberikan otorisasi kepada agen transfer, baik akun pengguna maupun layanan menggunakan akun layanan.
Bucket tujuan atau perantara tidak boleh memiliki kebijakan retensi atau penangguhan objek.
Setelah diaktifkan, Storage Transfer Service otomatis menggunakan upload multibagian saat melakukan hal tersebut akan mempercepat suatu transfer.
Mengonfigurasi aturan siklus proses objek multibagian
Anda dapat menggunakan Cloud Storage Object Lifecycle Management untuk membatalkan proses yang belum selesai mengupload multibagian dan menghapus bagian terkait. Lihat Batalkan upload multibagian yang tidak lengkap di dokumentasi Cloud Storage.
Sebaiknya tetapkan nilai age
selama 7 hari.
Nonaktifkan upload multibagian
Untuk menonaktifkan upload multibagian, instal ulang agen transfer menggunakan docker run
dan meneruskan --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_ID
menentukan project ID yang menghosting pengalihan tersebut.CREDENTIAL_FILE
: jika agen transfer menggunakan untuk autentikasi, tentukan jalur ke file berformat JSON file kredensial akun layanan.
Atau, cabut izin yang diperlukan dari akun yang memberikan otorisasi kepada agen transfer, baik akun pengguna maupun layanan menggunakan 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 jaringan area lokal (LAN) konektivitas akan memengaruhi performa.
Throughput dan pemanfaatan WAN.
WAN yang lebih lambat atau banyak digunakan akan memperlambat performa.
Karakteristik file.
Misalnya, banyak file besar memiliki jaringan yang lebih tinggi daripada banyak file kecil karena {i>overhead<i} jaringan.
Karena variabel ini, kami tidak dapat memprediksi kinerja aktual atau memberikan jumlah agen yang optimal untuk digunakan.
Minimal, Anda sebaiknya menggunakan tiga agen, di komputer yang berbeda jika memungkinkan, agar transfer Anda tetap fault-tolerant. Anda dapat menambahkan transfer saat transfer sedang berjalan, karena performa meningkat secara dinamis.
Untuk mengamati dampak penambahan agen, dan memilih jumlah agen yang yang paling sesuai untuk lingkungan Anda, lakukan hal berikut:
Mulai transfer besar yang memerlukan waktu setidaknya 1 jam untuk dijalankan. Misalnya, memulai transfer yang berisi setidaknya 100 ribu file dan Ukuran total 100 GB.
Gunakan Cloud Monitoring untuk mengamati throughput agen secara keseluruhan.
Tunggu hingga throughput turun, dan tentukan apakah Anda dibatasi oleh kapasitas WAN atau batas {i>bandwidth<i} Anda.
Jika kapasitas WAN belum dipenuhi, dan Anda belum mencapai batas transfer yang diinginkan, tambahkan agen lain. Agen tambahan meningkatkan throughput transfer secara otomatis. Tunggu sekitar 3 menit untuk throughput stabil di Cloud Monitoring.
Ulangi langkah 3 dan 4, tambahkan satu agen per satu agen hingga Anda mencapai batas tersebut. Selama sumber daya komputasi, sistem file, dan jaringan telah tersedia, Anda dapat menjalankan hingga 100 agen secara serentak per kumpulan agen.
Jika Anda memenuhi bandwidth keluar sebelum mencapai batas yang diinginkan, dapat melakukan salah satu hal berikut:
- Kontrol 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 saturasi, menyelidiki throughput sistem file. Dalam kasus yang jarang terjadi, throughput sistem file menjadi jenuh, sehingga mengganggu kemampuan Anda untuk meningkatkan performa transfer.
Agen penamaan
Saat memberi nama agen, sebaiknya Anda melakukan hal berikut:
Selalu sertakan nama host di agen Anda. Hal ini membantu Anda menemukan komputer tempat agen dijalankan. Sebaiknya Anda meneruskan
--hostname=$(hostname)
ke perintahrun
Docker.Pilih skema awalan agen yang akan membantu Anda mengidentifikasi agen dalam konteks organisasi pemantauan dan infrastruktur Anda. Contoh:
Jika memiliki tiga project transfer terpisah, Anda mungkin ingin menyertakan nama tim di agen Anda. Misalnya,
logistics
.Jika Anda menjalankan dua project transfer berbeda untuk dua project pusat data, Anda mungkin ingin menyertakan nama pusat data di kolom . Misalnya,
omaha
.