Praktik terbaik untuk transfer sistem file

Halaman ini menjelaskan praktik terbaik untuk transfer sistem file.

Praktik terbaik performa

Berikut adalah praktik terbaik untuk memastikan performa transfer yang baik:

  • Maksimalkan performa agen transfer Anda.

  • Lakukan tolok ukur pada performa Anda dengan mentransfer korpus data besar, biasanya berukuran minimal 100 GB.

    Storage Transfer Service adalah layanan berskala besar yang dioptimalkan untuk throughput. Jadi, 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 agar Anda dapat menskalakan konsumsi resource secara lebih efektif.

  • Pastikan antarmuka jaringan di komputer agen memiliki ukuran bandwidth baca/tulis yang Anda perlukan.

    Misalnya, jika Anda ingin sepenuhnya menggunakan jaringan area luas (WAN) 20 Gbps, antarmuka jaringan mesin agen Anda harus mendukung 20 Gbps untuk membaca data dari sistem file jaringan Anda, dan 20 Gbps lainnya untuk mentransfer data ke Cloud Storage, atau 40 Gbps dari total bandwidth.

  • Pantau CPU, memori, dan jaringan di mesin agen untuk memastikan mesin tidak kewalahan oleh beban kerja lain, karena hal ini dapat berdampak negatif pada performa. Lihat persyaratan hardware agen untuk mengetahui 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 mengupload 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 ke akun yang memberi otorisasi kepada agen transfer, baik akun pengguna maupun akun layanan.

  • Bucket tujuan atau perantara tidak boleh memiliki kebijakan retensi atau penangguhan objek.

Setelah diaktifkan, Storage Transfer Service menggunakan upload multibagian secara otomatis jika melakukannya kemungkinan akan mempercepat transfer.

Mengonfigurasi aturan siklus proses objek multibagian

Anda dapat menggunakan Cloud Storage Object Lifecycle Management untuk membatalkan upload multibagian yang tidak selesai dan menghapus bagian terkait. Lihat Membatalkan upload multibagian yang belum selesai dalam 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 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_ID menentukan 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 memberikan otorisasi kepada 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) semuanya memengaruhi performa.

  • Throughput dan pemanfaatan WAN.

    WAN yang lebih lambat atau 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.

Sebaiknya gunakan tiga agen, di berbagai mesin yang berbeda jika memungkinkan, sehingga transfer Anda tetap fault-tolerant. Anda dapat menambahkan agen transfer saat transfer sedang berjalan, karena performa meningkat secara dinamis.

Untuk mengamati dampak penambahan agen dan memilih jumlah agen yang paling cocok untuk lingkungan Anda, lakukan tindakan berikut:

  1. Mulai transfer besar yang memerlukan waktu setidaknya 1 jam untuk dijalankan. Misalnya, mulai transfer yang berisi minimal 100 ribu file dan ukuran total setidaknya 100 GB.

  2. Gunakan Cloud Monitoring untuk mengamati throughput agen secara keseluruhan.

  3. Tunggu hingga throughput turun, dan tentukan apakah Anda dibatasi oleh kapasitas WAN atau batas bandwidth Anda.

  4. Jika kapasitas WAN belum dipenuhi dan Anda belum mencapai batas transfer yang diinginkan, tambahkan agen lain. Agen tambahan ini akan otomatis meningkatkan throughput transfer. Tunggu sekitar 3 menit hingga throughput stabil di Cloud Monitoring.

Ulangi langkah 3 dan 4, tambahkan agen satu per satu hingga mencapai batas yang diinginkan. Selama resource komputasi, sistem file, dan jaringan tersedia, Anda dapat menjalankan hingga 100 agen secara serentak per kumpulan agen.

Jika Anda memenuhi bandwidth keluar sebelum mencapai batas yang diinginkan, Anda dapat melakukan tindakan berikut:

Jika Anda telah menambahkan agen, tetapi throughput tidak meningkat dan WAN Anda tidak saturasi, selidiki throughput sistem file. Dalam kasus yang jarang terjadi, throughput sistem file menjadi jenuh, sehingga menghambat kemampuan Anda untuk meningkatkan performa transfer.

Agen penamaan

Saat memberi nama agen, sebaiknya Anda melakukan hal berikut:

  • Selalu sertakan nama host di agen Anda. Ini membantu Anda menemukan komputer tempat agen berjalan. Sebaiknya Anda meneruskan --hostname=$(hostname) ke perintah run 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 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 di awalan agen. Misalnya, omaha.