Performa Cloud Storage FUSE

Halaman ini memberikan panduan tentang cara meningkatkan performa Cloud Storage FUSE.

Meningkatkan performa baca dan tulis

Untuk meningkatkan performa baca dan tulis, sebaiknya lakukan hal berikut:

  • Mengaktifkan penyimpanan dalam cache: Cloud Storage FUSE menawarkan empat jenis cache sisi klien opsional yang menyimpan jenis data dan metadata tertentu secara lokal untuk membantu meningkatkan performa:

    Caching Cloud Storage FUSE berfungsi dengan direktori yang ditentukan pengguna yang didukung oleh penyimpanan pilihan Anda. Performa cache Cloud Storage FUSE cocok dengan penyimpanan pokok yang digunakan oleh cache dengan overhead minimal.

  • Mempercepat pembacaan dengan mengaktifkan download paralel: mempercepat pembacaan file besar berukuran lebih dari 1 GB dengan mengaktifkan download paralel. Untuk informasi selengkapnya, lihat Meningkatkan performa baca menggunakan download paralel.

  • Jalankan beban kerja baca berurutan jika memungkinkan: Cloud Storage FUSE memiliki performa lebih baik untuk beban kerja baca berurutan daripada beban kerja baca acak. Cloud Storage FUSE menggunakan heuristik untuk mendeteksi kapan file sedang dibaca secara berurutan, sehingga Cloud Storage FUSE dapat mengeluarkan permintaan baca yang lebih kecil dan lebih besar ke Cloud Storage menggunakan koneksi TCP yang sama.

  • Sesuaikan ukuran file berdasarkan jenis operasi baca: untuk mengoptimalkan performa operasi baca berurutan, sebaiknya upload dan baca file berukuran antara 5 MB dan 200 MB. Untuk mengoptimalkan performa pembacaan acak, sebaiknya upload dan baca file berukuran sekitar 2 MB.

  • Memasang bucket dengan namespace hierarkis yang diaktifkan: untuk meningkatkan kecepatan performa baca dan tulis serta memastikan atomitas untuk operasi kueri awal per detik (QPS) yang lebih tinggi, sebaiknya pasang bucket dengan namespace hierarkis yang diaktifkan. Untuk mempelajari lebih lanjut cara bucket yang mengaktifkan namespace hierarkis dapat meningkatkan performa Cloud Storage FUSE, lihat Memasang bucket dengan namespace hierarkis yang diaktifkan.

Meningkatkan performa baca pertama kali

Sebelum menjalankan beban kerja, sebaiknya Anda membuat daftar file secara rekursif terlebih dahulu di bucket yang dipasang untuk mengisi cache statistik dan jenis terlebih dahulu serta meningkatkan performa pada pengoperasian pertama dengan metode batch yang lebih cepat:

ls -R MOUNT_POINT > /dev/null

Menggunakan cache file untuk meningkatkan throughput

Cloud Storage FUSE memiliki latensi yang lebih tinggi daripada sistem file lokal. Throughput berkurang saat Anda membaca atau menulis file kecil satu per satu, karena akan menghasilkan beberapa panggilan API terpisah. Membaca atau menulis beberapa file besar sekaligus dapat membantu meningkatkan throughput. Gunakan fitur cache file Cloud Storage FUSE untuk meningkatkan performa untuk I/O kecil dan acak. Untuk mempelajari lebih lanjut caching file dan cara mengaktifkan fitur ini, lihat Menggunakan caching file Cloud Storage FUSE.

Memasang bucket dengan namespace hierarkis yang diaktifkan

Untuk memastikan atomitas untuk operasi kueri awal per detik (QPS) yang lebih tinggi seperti pembuatan checkpoint dan penggantian atau perubahan nama direktori, sebaiknya pasang bucket dengan namespace hierarkis yang diaktifkan. Namespace hierarkis mengatur data Anda ke dalam struktur sistem file hierarkis, sehingga operasi dalam bucket menjadi lebih efisien. Panggilan List object (BucketHandle.Objects) diganti dengan panggilan get folder, sehingga menghasilkan waktu respons yang lebih cepat dan lebih sedikit panggilan daftar secara keseluruhan untuk setiap operasi.

Meningkatkan ukuran baca-di-depan untuk meningkatkan throughput baca besar

Anda dapat meningkatkan throughput operasi baca yang besar dengan meningkatkan jumlah data yang di-prefetch dengan setiap permintaan baca menggunakan parameter kernel Linux read_ahead_kb di komputer lokal Anda. Sebaiknya tingkatkan parameter kernel read_ahead_kb menjadi 1 MB, bukan menggunakan jumlah default 128 KB yang ditetapkan di sebagian besar distribusi Linux. Izin sudo atau root diperlukan agar berhasil meningkatkan parameter kernel.

Untuk meningkatkan parameter kernel read_ahead_kb menjadi 1 MB untuk direktori yang dipasang Cloud Storage FUSE tertentu, gunakan perintah berikut dengan /path/to/mount/point adalah titik pemasangan Cloud Storage FUSE Anda. Bucket Anda harus dipasang ke Cloud Storage FUSE sebelum Anda menjalankan perintah. Jika tidak, parameter kernel tidak akan meningkat.

  export MOUNT_POINT=/path/to/mount/point
  echo 1024 | sudo tee /sys/class/bdi/0:$(stat -c "%d" $MOUNT_POINT)/read_ahead_kb

Mencapai throughput maksimum

Untuk mencapai throughput maksimum, gunakan mesin dengan resource CPU yang cukup untuk meningkatkan throughput dan memenuhi kartu antarmuka jaringan (NIC). Resource CPU yang tidak memadai dapat menyebabkan throttling Cloud Storage FUSE.

Jika Anda menggunakan Google Kubernetes Engine, tingkatkan alokasi CPU ke penampung sidecar Cloud Storage FUSE jika workload Anda memerlukan throughput yang lebih tinggi. Anda dapat meningkatkan resource yang digunakan oleh penampung file bantuan atau mengalokasikan resource tanpa batas.

Menilai kebutuhan IOPS dalam kueri per detik

Filestore adalah opsi yang lebih baik daripada Cloud Storage FUSE untuk beban kerja yang memerlukan operasi input/output per detik (IOPS) instan yang tinggi, yang juga dikenal sebagai kueri per detik di Cloud Storage. Filestore juga merupakan opsi yang lebih baik untuk IOPS yang sangat tinggi pada sistem file tunggal dengan latensi yang lebih rendah.

Atau, Anda juga dapat menggunakan fitur cache file Cloud Storage FUSE untuk mem-build karakteristik performa media cache yang mendasarinya jika menyediakan IOPS tinggi dan latensi rendah.

Melakukan pengujian beban

Untuk mengetahui petunjuk cara menjalankan uji beban pada FUSE Cloud Storage, lihat Tolok Ukur Performa dalam dokumentasi GitHub.

Langkah selanjutnya