Halaman ini memberikan detail tentang cara mengoptimalkan performa Google Cloud NetApp Volumes.
Sebelum memulai
Sebelum Anda membuat perubahan pada volume untuk mengoptimalkan performa, tinjau pertimbangan performa.
Menyesuaikan setelan volume
Anda dapat mengoptimalkan performa dengan menyesuaikan setelan volume berikut:
Meningkatkan kapasitas volume: Anda dapat meningkatkan kapasitas volume tingkat layanan Premium, Extreme, atau Standar untuk meningkatkan throughput volume maksimum yang dapat dicapai. Untuk volume tingkat layanan Flex, tingkatkan kapasitas penyimpanan gabungan.
Upgrade tingkat layanan: Anda dapat mengupgrade volume tingkat layanan Premium ke tingkat layanan Extreme untuk meningkatkan throughput. Sebaiknya tentukan volume ke kumpulan penyimpanan lain dengan level layanan yang berbeda.
Meningkatkan kapasitas volume dan mengupgrade tingkat layanan tidak mengganggu workload I/O yang sedang diproses di volume dan tidak memengaruhi akses ke volume dengan cara apa pun.
Menyesuaikan klien
Anda dapat meningkatkan performa dengan menyesuaikan setelan berikut di klien:
Klien yang berlokasi bersama: hasil latensi secara langsung dipengaruhi oleh kemampuan dan lokasi klien. Untuk hasil terbaik, tempatkan klien di region yang sama dengan volume atau sedekat mungkin. Uji dampak zona dengan menguji latensi dari klien di setiap zona dan gunakan zona dengan latensi terendah.
Mengonfigurasi bandwidth jaringan Compute Engine: kemampuan jaringan VM Compute Engine bergantung pada jenis instance yang digunakan. Biasanya, instance yang lebih besar dapat mendorong throughput jaringan yang lebih besar. Sebaiknya Anda memilih virtual machine klien dengan kemampuan bandwidth jaringan yang sesuai, memilih antarmuka jaringan Google Virtual NIC (gVNIC), dan mengaktifkan performa
Tier_1
. Untuk informasi selengkapnya, lihat dokumentasi Compute Engine tentang bandwidth jaringan.Membuka beberapa sesi TCP: jika aplikasi Anda memerlukan throughput tinggi, Anda pada akhirnya dapat memenuhi satu sesi transmission control protocol (TCP) yang mendasari sesi NFS dan SMB normal. Untuk kasus tersebut, tingkatkan jumlah sesi TCP yang digunakan koneksi NFS dan SMB Anda.
Gunakan salah satu tab berikut untuk menyesuaikan klien berdasarkan jenis klien:
Linux
Secara tradisional, klien NFS menggunakan satu sesi TCP untuk semua sistem file yang dipasang NFS yang berbagi endpoint penyimpanan. Dengan menggunakan opsi pemasangan
nconnect
, Anda dapat meningkatkan jumlah sesi TCP yang didukung hingga maksimum 16.Sebaiknya lakukan praktik terbaik berikut untuk menyesuaikan jenis klien Linux Anda agar dapat memanfaatkan
nconnect
sepenuhnya:Meningkatkan jumlah sesi TCP dengan
nconnect
: Setiap sesi TCP tambahan akan menambahkan antrean untuk 128 permintaan yang belum selesai, sehingga meningkatkan potensi konkurensi.Menetapkan parameter
sunrpc.max_tcp_slot_table_entries
:sunrpc.max_tcp_slot_table_entries
adalah parameter penyesuaian tingkat koneksi yang dapat Anda ubah untuk mengontrol performa. Sebaiknya tetapkansunrpc.max_tpc_slot_table_enteries
ke 128 permintaan atau per koneksi dan jangan melebihi 10.000 slot untuk semua klien NFS dalam satu project yang terhubung ke Volume NetApp. Untuk menetapkan parametersunrpc.max_tcp_slot_table_entries
, tambahkan parameter ke file/etc/sysctl.conf
dan muat ulang file parameter menggunakan perintahsysctl -p
.Menyesuaikan nilai maksimum yang didukung per sesi menjadi 180: Tidak seperti NFSv3, klien NFSv4.1 menentukan hubungan antara klien dan server dalam sesi. Meskipun Volume NetApp mendukung hingga 128 permintaan yang tertunda per koneksi menggunakan NFSv3, NFSv4.1 dibatasi hingga 180 permintaan yang tertunda per sesi. Klien NFSv4.1 Linux secara default menggunakan
64 max_session_slots
per sesi, tetapi Anda dapat menyesuaikan nilai ini sesuai kebutuhan. Sebaiknya ubah nilai maksimum yang didukung per sesi menjadi 180.Untuk menyesuaikan
max_session_slots
, buat file konfigurasi di bagian/etc/modprobe.d
. Pastikan tidak ada tanda petik (" ") yang muncul inline. Jika tidak, opsi tidak akan diterapkan.$ echo "options nfs max_session_slots=180" > /etc/modprobe/d/nfsclient/conf $ reboot Use the systool -v -m nfs command to see the current maximum in use by the client. For the command to work, at least one NFSv4.1 mount must be in place. $ systool -v -v nfs { Module = "nfs" … Parameters: … Max_session_slots = "63" <- … }
Grafik perbandingan
nconnect
NFS berikut menunjukkan dampak penggunaan konfigurasi nconnect terhadap beban kerja NFS. Informasi ini diambil menggunakan Fio dengan setelan berikut:Beban kerja baca 100%
Ukuran blok 8 KiB terhadap satu volume
Virtual machine
n2-standard-32
menggunakan OS Red Hat 9Set kerja 6 TiB
Menggunakan nilai
nconnect
16 menghasilkan performa yang lima kali lebih baik daripada saat tidak diaktifkan.Windows
Untuk klien berbasis Windows, klien dapat menggunakan SMB Multichannel dengan Receive Side Scaling (RSS) untuk membuka beberapa koneksi TCP. Untuk mencapai konfigurasi ini, virtual machine Anda harus memiliki adaptor jaringan yang dialokasikan dan mendukung RSS. Sebaiknya tetapkan RSS ke empat atau delapan nilai, tetapi nilai apa pun yang lebih dari satu akan meningkatkan throughput.
Grafik berikut menampilkan perbedaan yang dapat dihasilkan oleh konfigurasi RSS pada beban kerja SMB. Informasi ini diambil menggunakan Fio dengan setelan berikut:
Beban kerja baca 100%
Ukuran blok 8 KiB terhadap satu volume
Satu virtual machine
n2-standard-32
yang menjalankan OS Windows 2022Set kerja 6 TiB
Delapan tugas dijalankan hanya dengan opsi RSS klien SMB yang berubah di antara eksekusi pengujian. Menggunakan nilai RSS 4, 8, dan 16 meningkatkan performa dua kali lipat jika dibandingkan dengan menggunakan nilai 1. Setiap instance RSS dijalankan sembilan kali dengan parameter
numjobs
8. Parameteriodepth
ditingkatkan sebanyak lima kali setiap eksekusi hingga throughput maksimum tercapai.
Langkah selanjutnya
Baca tentang kumpulan penyimpanan.