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:
Pembuatan cache file: menyimpan salinan file yang sering diakses.
Caching statistik: menyimpan metadata file.
Pemcachean jenis: menyimpan informasi jenis file.
Pembuatan cache daftar: menyimpan listingan direktori.
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 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
- Baca tentang cache FUSE Cloud Storage.
- Pelajari lebih lanjut semantik dan pemecahan masalah Cloud Storage FUSE di GitHub.