Halaman ini memperkenalkan opsi performa yang tersedia untuk instance Filestore dan memberikan rekomendasi umum untuk mengoptimalkan performa. Saat Anda menggunakan konsol Google Cloud untuk membuat instance zonal dan regional, performa kustom diaktifkan secara default agar Anda dapat menskalakan IOPS secara independen dari kapasitas untuk memenuhi kebutuhan beban kerja spesifik Anda.
Tabel berikut memberikan ringkasan batas performa untuk rentang kapasitas yang lebih rendah dan lebih tinggi dalam setelan performa kustom:
| Rentang kapasitas | Tingkat layanan | Kapasitas | IOPS yang disediakan per TiB |
|---|---|---|---|
| Rentang kapasitas yang lebih rendah | Regional (instance kecil tersedia di wilayah) | 100 GiB hingga 10.239 GiB | 4.000 hingga 17.000 |
| Regional (instance kecil tidak tersedia di region) | 1 TiB hingga 9,75 TiB | 4.000 hingga 17.000 | |
| Zonal | 1 TiB hingga 9,75 TiB | 4.000 hingga 17.000 | |
| Rentang kapasitas yang lebih tinggi | Regional | 10 TiB hingga 100 TiB | 3.000 hingga 7.500 |
| Zonal | 10 TiB hingga 100 TiB | 3.000 hingga 7.500 |
Memahami penghitungan performa
Tabel berikut menampilkan penghitungan performa berdasarkan IOPS yang disediakan per TiB dan kapasitas yang dialokasikan. Penghitungan didasarkan pada rentang kapasitas yang berbeda untuk menunjukkan bagaimana nilai IOPS baca, IOPS tulis, throughput baca, dan throughput tulis berubah untuk nilai IOPS minimum dan maksimum per TiB.
Untuk mengetahui informasi selengkapnya, lihat Membaca dan menulis IOPS.
| Rentang kapasitas | IOPS yang disediakan minimum dan maksimum per TiB |
Kapasitas | IOPS Baca | IOPS Tulis | Throughput baca (MiBps) | Throughput tulis (MiBps) | Throughput baca klien tunggal (MiBps) | Throughput tulis klien tunggal (MiBps) |
|---|---|---|---|---|---|---|---|---|
| Rentang kapasitas yang lebih rendah (100 GiB hingga 10.239 GiB) |
4.000 | 100 GiB | 2.000* | 600 | 47 | 16 | 47 | 16 |
| 600 GiB | 2.344 | 703 | 55 | 19 | 55 | 19 | ||
| 1.024 GiB | 4.000 | 1.200 | 94 | 32 | 94 | 32 | ||
| 10.239 GiB | 39.996 | 11.999 | 940 | 320 | 450 | 260 | ||
| 17.000 | 100 GiB | 2.000 | 600 | 47 | 16 | 47 | 16 | |
| 600 GiB | 9.961 | 2.988 | 234 | 80 | 234 | 80 | ||
| 1.024 GiB | 17.000 | 5.100 | 400 | 136 | 400 | 136 | ||
| 10.239 GiB | 169.983 | 50.995 | 3.995 | 1.360 | 450 | 260 | ||
| Rentang kapasitas yang lebih tinggi (10 TiB hingga 100 TiB) |
3.000 | 10 TiB | 30.000 | 9.000 | 705 | 240 | 705 | 240 |
| 7.500 | 100 TiB | 750.000 | 225.000 | 17.625 | 6.000 | 1.600 | 800 |
* Bergantung pada akses ke fitur instance berkapasitas kecil, rentang kapasitas yang lebih rendah untuk instance regional Filestore dapat berupa 100 GiB hingga 10.239 GiB atau 1 TiB hingga 9,75 TiB. Untuk mengetahui informasi selengkapnya, lihat Instance Filestore berkapasitas kecil.
Penskalaan performa
Dalam skenario klien tunggal dan beberapa klien, Anda harus meningkatkan jumlah koneksi TCP dengan opsi pemasangan
nconnect
untuk mencapai performa NFS maksimum.
Untuk tingkat layanan tertentu, sebaiknya tentukan jumlah koneksi berikut antara klien dan server:
| Tingkat | Kapasitas | Jumlah koneksi |
|---|---|---|
| Regional, zonal | 1-9,75 TiB | nconnect=2 |
| Regional, zonal | 10-100 TiB | nconnect=7 |
| Enterprise | - | nconnect=2 |
| SSD skala tinggi | - | nconnect=7 |
Secara umum, semakin besar kapasitas berbagi file dan semakin sedikit VM klien yang terhubung, semakin besar performa yang Anda peroleh dengan menentukan koneksi tambahan dengan nconnect.
Jenis mesin klien yang direkomendasikan
Sebaiknya gunakan jenis mesin Compute Engine, seperti n2-standard-8, yang menyediakan bandwidth traffic keluar minimal 16 Gbps. Bandwidth traffic keluar ini memungkinkan klien mencapai bandwidth baca sekitar 16 Gbps untuk workload yang kompatibel dengan cache. Untuk konteks tambahan, lihat Bandwidth jaringan.
Opsi pengaitan klien Linux
Sebaiknya gunakan opsi pemasangan NFS berikut, terutama pemasangan hard,
async, dan opsi rsize dan wsize, untuk mendapatkan performa terbaik pada
instance VM klien Linux. Untuk mengetahui informasi selengkapnya tentang opsi pengaitan NFS, lihat
nfs.
| Opsi default | Deskripsi |
|---|---|
hard |
Klien NFS mencoba kembali permintaan NFS tanpa batas waktu. |
timeo=600 |
Klien NFS menunggu 600 desidetik (60 detik) sebelum mencoba lagi permintaan NFS. |
retrans=3 |
Klien NFS mencoba permintaan NFS tiga kali sebelum melakukan tindakan pemulihan lebih lanjut. |
rsize=524288 |
Klien NFS dapat menerima maksimum 524.288 byte dari server NFS per permintaan READ. Catatan: Untuk instance tingkat dasar, tetapkan nilai rsize ke 1048576. |
wsize=524288 |
Klien NFS dapat mengirimkan maksimum 524.288 byte ke server NFS per permintaan WRITE. |
resvport |
Klien NFS menggunakan port sumber yang memiliki hak istimewa saat berkomunikasi dengan server NFS untuk direktori pemasangan ini. |
async |
Klien NFS menunda pengiriman penulisan aplikasi ke server NFS hingga kondisi tertentu terpenuhi. Perhatian: Menggunakan opsi sync akan mengurangi performa secara signifikan. |
Mengoptimalkan throughput baca NFS dengan parameter read_ahead_kb
Parameter read_ahead_kb NFS menentukan jumlah data, dalam kilobyte, yang harus diambil sebelumnya oleh kernel Linux selama operasi baca berurutan. Akibatnya, permintaan baca berikutnya dapat disalurkan langsung dari memori untuk mengurangi latensi dan meningkatkan performa secara keseluruhan.
Untuk versi kernel Linux 5.4 dan yang lebih baru, klien NFS Linux menggunakan nilai read_ahead_kb default sebesar 128 KB.
Sebaiknya tingkatkan nilai ini menjadi 20 MB untuk meningkatkan throughput baca berurutan.
Setelah berhasil memasang berbagi file di VM klien Linux, Anda dapat menggunakan skrip berikut untuk menyesuaikan nilai parameter read_ahead_kb secara manual:
mount_point=MOUNT_POINT_DIRECTORY
device_number=$(stat -c '%d' $mount_point)
((major = ($device_number & 0xFFF00) >> 8))
((minor = ($device_number & 0xFF) | (($device_number >> 12) & 0xFFF00)))
sudo bash -c "echo 20480 > /sys/class/bdi/$major:$minor/read_ahead_kb"
Ganti kode berikut:
MOUNT_POINT_DIRECTORY adalah jalur ke direktori tempat berbagi file dipasang.
Performa VM klien tunggal dan ganda
Tingkatan layanan Filestore yang skalabel dioptimalkan performanya untuk beberapa VM klien, bukan satu VM klien.
Untuk instance zonal, regional, dan enterprise, setidaknya empat VM klien diperlukan untuk memanfaatkan performa penuh. Tindakan ini memastikan bahwa semua VM di cluster Filestore yang mendasarinya dimanfaatkan sepenuhnya.
Sebagai konteks tambahan, cluster Filestore yang dapat diskalakan terkecil memiliki empat VM. Setiap VM klien berkomunikasi dengan hanya satu VM cluster Filestore,
terlepas dari jumlah koneksi NFS per klien yang ditentukan menggunakan opsi pemasangan
nconnect. Jika menggunakan satu VM klien, operasi baca dan tulis hanya dilakukan dari satu VM cluster Filestore.
Batas performa berbasis kapasitas
Batas berbasis kapasitas berlaku untuk tingkat layanan yang tidak mendukung performa kustom, seperti tingkat dasar, atau instance tempat Anda menonaktifkan performa kustom secara manual.
Setiap tingkat layanan Filestore memberikan tingkat performa yang berbeda yang dapat bervariasi karena faktor-faktor seperti penggunaan caching, jumlah VM klien, jenis mesin VM klien, dan workload yang diuji.
Tabel berikut mencantumkan performa maksimum yang dapat Anda capai saat menyetel kapasitas minimum dan maksimum untuk setiap tingkat layanan. Semua nilai tabel adalah batas perkiraan.
| Tingkat layanan | Kapasitas | IOPS Baca | IOPS Tulis | Throughput baca (MiBps) | Throughput tulis (MiBps) | Throughput baca klien tunggal (MiBps) | Throughput tulis klien tunggal (MiBps) |
|---|---|---|---|---|---|---|---|
| Zonal | 1 TiB | 9.200 | 2.600 | 260 | 88 | 260 | 88 |
| 9,75 TiB | 89.700 | 25.350 | 2.535 | 858 | 450 | 260 | |
| 10 TiB | 92.000 | 26.000 | 2.600 | 880 | 1.600 | 800 | |
| 100 TiB | 920.000 | 260.000 | 26.000 | 8.800 | 1.600 | 800 | |
| Regional | 1 TiB | 12.000 | 4.000 | 120 | 100 | 120 | 100 |
| 9,75 TiB | 117.000 | 39.000 | 1.170 | 975 | 450 | 260 | |
| 10 TiB | 92.000 | 26.000 | 2.600 | 880 | 1.600 | 800 | |
| 100 TiB | 920.000 | 260.000 | 26.000 | 8.800 | 1.600 | 800 | |
| Enterprise | 1 TiB | 12.000 | 4.000 | 120 | 100 | 120 | 100 |
| 10 TiB | 120.000 | 40.000 | 1.200 | 1.000 | 450 | 260 | |
| HDD Dasar | 1 TiB - 10 TiB | 600 | 1.000 | 100 | 100 | 100 | 100 |
| 10 TiB - 63,9 TiB | 1.000 | 5.000 | 180 | 120 | 180 | 120 | |
| SSD Dasar | 2,5 TiB - 63,9 TiB | 60.000 | 25.000 | 1.200 | 350 | 1.200 | 350 |
Meningkatkan performa di seluruh Google Cloud resource
Operasi di beberapa Google Cloud resource, seperti menyalin data dari Cloud Storage ke instance Filestore menggunakan Google Cloud CLI, dapat berjalan lambat. Untuk membantu mengurangi masalah performa, coba lakukan hal berikut:
Pastikan bucket Cloud Storage, VM klien, dan instance Filestore berada di region yang sama.
Region ganda memberikan opsi berperforma maksimal untuk data yang disimpan di Cloud Storage. Jika menggunakan opsi ini, pastikan resource lain berada di salah satu region tunggal yang ada di region ganda. Misalnya, jika data Cloud Storage Anda berada di
us-central1,us-west1, pastikan VM klien dan instance Filestore Anda berada dius-central1.Sebagai referensi, verifikasi performa VM dengan Persistent Disk (PD) yang terpasang dan bandingkan dengan performa instance Filestore.
- Jika performa VM yang terhubung dengan PD serupa atau lebih lambat dibandingkan dengan instance Filestore, hal ini mungkin menunjukkan adanya hambatan performa yang tidak terkait dengan Filestore. Untuk meningkatkan performa dasar pengukuran resource non-Filestore, Anda dapat menyesuaikan properti gcloud CLI yang terkait dengan upload gabungan paralel. Untuk mengetahui informasi selengkapnya, lihat Cara alat dan API menggunakan upload komposit paralel.
- Jika performa instance Filestore jauh lebih lambat daripada VM yang terpasang PD, coba sebarkan operasi ke beberapa VM untuk meningkatkan performa operasi baca dari Cloud Storage.