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 yang dapat dicapai secara maksimal. Untuk volume tingkat layanan Flex, tingkatkan kapasitas penyimpanan gabungan.
Mengupgrade tingkat layanan: Anda dapat mengupgrade volume tingkat layanan Premium ke tingkat layanan Extreme untuk meningkatkan throughput. Sebaiknya tetapkan volume ke kumpulan penyimpanan lain dengan tingkat layanan yang berbeda.
Gunakan kumpulan QoS manual untuk menetapkan throughput yang lebih besar: Anda dapat mengurangi throughput yang ditetapkan untuk volume yang lebih besar dengan persyaratan throughput rendah, dan meningkatkan throughput untuk volume yang lebih kecil yang memerlukan performa lebih tinggi hingga throughput kumpulan yang tersedia.
Peningkatan kapasitas volume dan upgrade 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:
Menempatkan klien secara bersamaan: hasil latensi dipengaruhi langsung 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 virtual machine Compute Engine bergantung pada jenis instance yang digunakan. Biasanya, instance yang lebih besar dapat mendorong throughput jaringan yang lebih tinggi. Sebaiknya Anda memilih mesin virtual klien dengan kemampuan bandwidth jaringan yang sesuai, memilih antarmuka jaringan Google Virtual NIC (gVNIC), dan mengaktifkan performa
Tier_1
. Untuk mengetahui informasi selengkapnya, lihat dokumentasi Compute Engine tentang bandwidth jaringan.Membuka beberapa sesi TCP: jika aplikasi Anda memerlukan throughput tinggi, Anda dapat memenuhi satu sesi Transmission Control Protocol (TCP) yang mendasari sesi NFS dan SMB normal. Untuk kasus seperti ini, tingkatkan jumlah sesi TCP yang digunakan koneksi NFS dan SMB Anda.
Gunakan salah satu tab berikut untuk menyesuaikan klien berdasarkan jenis klien:
Linux
Biasanya, klien NFS menggunakan satu sesi TCP untuk semua sistem file yang di-mount NFS yang berbagi endpoint penyimpanan. Dengan menggunakan opsi pemasangan
nconnect
, Anda dapat meningkatkan jumlah sesi TCP yang didukung hingga maksimum 16.Sebaiknya ikuti praktik terbaik berikut untuk menyesuaikan jenis klien Linux Anda agar dapat memanfaatkan
nconnect
sepenuhnya:Tingkatkan jumlah sesi TCP dengan
nconnect
: Setiap sesi TCP tambahan akan menambahkan antrean untuk 128 permintaan yang belum selesai, sehingga meningkatkan potensi konkurensi.Setel 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 NetApp Volumes. Untuk menetapkan parametersunrpc.max_tcp_slot_table_entries
, tambahkan parameter ke file/etc/sysctl.conf
dan muat ulang file parameter menggunakan perintahsysctl -p
.Sesuaikan nilai maksimum yang didukung per sesi menjadi 180: Tidak seperti NFSv3, klien NFSv4.1 menentukan hubungan antara klien dan server dalam sesi. Meskipun NetApp Volumes mendukung hingga 128 permintaan yang belum selesai per koneksi menggunakan NFSv3, NFSv4.1 dibatasi hingga 180 permintaan yang belum selesai 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/etc/modprobe.d
. Pastikan tidak ada tanda petik (" ") yang muncul secara 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 NFS
nconnect
berikut menunjukkan dampak penggunaan konfigurasi nconnect pada beban kerja NFS. Informasi ini diambil menggunakan Fio dengan setelan berikut:Beban kerja baca 100%
Ukuran blok 8 KiB terhadap satu volume
n2-standard-32
virtual machine menggunakan OS Red Hat 9Working set 6 TiB
Penggunaan nilai
nconnect
sebesar 16 menghasilkan performa lima kali lebih baik daripada saat tidak diaktifkan.Windows
Untuk klien berbasis Windows, klien dapat menggunakan Multi-channel SMB dengan Receive Side Scaling (RSS) untuk membuka beberapa koneksi TCP. Untuk mencapai konfigurasi ini, virtual machine Anda harus memiliki adaptor jaringan yang dialokasikan yang mendukung RSS. Sebaiknya tetapkan RSS ke empat atau delapan nilai, tetapi nilai apa pun di atas satu akan meningkatkan throughput.
Grafik berikut menampilkan perbedaan yang dapat ditimbulkan oleh penggunaan 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
Mesin virtual
n2-standard-32
tunggal yang menjalankan OS Windows 2022Working set 6 TiB
Delapan tugas dijalankan dengan hanya opsi RSS klien SMB yang berubah di antara eksekusi pengujian. Penggunaan nilai RSS 4, 8, dan 16 meningkatkan performa dua kali lipat jika dibandingkan dengan penggunaan nilai 1. Setiap instance RSS dijalankan sembilan kali dengan parameter
numjobs
sebesar 8. Parameteriodepth
ditingkatkan sebanyak lima setiap eksekusi hingga throughput maksimum tercapai.
QoS Manual
Kualitas layanan (QoS) manual di NetApp Volumes memungkinkan Anda menyesuaikan performa volume untuk memenuhi persyaratan workload dan mengontrol biaya penyimpanan.
QoS manual menawarkan manfaat berikut:
Pengoptimalan biaya: menskalakan performa volume dalam kapasitas pool penyimpanan Anda untuk mengoptimalkan biaya cloud.
Penyesuaian throughput instan: sesuaikan throughput volume tanpa periode nonaktif.
Pengurangan biaya pemulihan dari bencana: menurunkan QoS untuk volume yang direplikasi guna mengurangi biaya pemulihan dari bencana untuk kumpulan tujuan.
Peningkatan performa untuk clone atau cache: meningkatkan performa untuk volume clone atau cache dengan ukuran yang dialokasikan kecil.
Pengelolaan workload yang fleksibel: gunakan kumpulan penyimpanan yang lebih besar sebagai container untuk beberapa workload, dengan menyesuaikan throughput setiap volume sesuai kebutuhan.
Pertimbangan
Anda dapat mengelola QoS manual menggunakan Google Cloud CLI, NetApp Volumes API, atau Terraform. Konsol Google Cloud tidak didukung.
QoS manual didukung untuk tingkat layanan Standard, Premium, dan Extreme, serta tidak tersedia untuk tingkat layanan Flex.
Menyiapkan batas QoS manual
Untuk volume dalam kumpulan penyimpanan QoS manual, Anda dapat menyetel throughput dan kapasitas secara terpisah. Throughput keseluruhan semua volume dalam pool QoS manual dibatasi oleh total throughput pool. Throughput gabungan ditentukan oleh kapasitas yang dialokasikan dan tingkat layanannya. Misalnya, kumpulan Premium 40 TiB dapat mencapai throughput maksimum 2.560 MiBps pada 64 MiBps per TiB, sementara kumpulan Extreme 200 TiB dapat mendukung volume dengan gabungan throughput 25.600 MiBps.
Setelah menyiapkan pool QoS manual, Anda dapat menetapkan batas throughput yang diperlukan untuk setiap volume di dalamnya. Batas throughput maksimum untuk satu volume adalah 4,5 GiBps, atau 30 GiBps untuk volume berkapasitas besar.
Perintah atau API pool dan volume menampilkan nilai throughput yang tersedia dan ditetapkan untuk pool guna membantu Anda mengelola total throughput. Untuk membuat pool QoS manual dan menentukan throughput volume, lihat Membuat pool penyimpanan dan Membuat volume.
Membuat penyimpanan bersama
gcloud
Buat penyimpanan bersama menggunakan QoS manual:
gcloud netapp storage-pools create POOL_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --capacity=CAPACITY \ --service-level=SERVICE_LEVEL \ --qos-type=QOS_TYPE \ --network=name=NETWORK_NAME
Ganti informasi berikut:
POOL_NAME
: nama pool yang ingin Anda buat. Nama kumpulan harus unik per lokasi.PROJECT_ID
: nama project tempat Anda ingin membuat pool penyimpanan.LOCATION
: lokasi pool yang ingin Anda buat.CAPACITY
: kapasitas pool dalam GiB.SERVICE_LEVEL
: tingkat layanan untuk pool penyimpanan Anda: Standard, Premium, atau Extreme.QOS_TYPE
: jenis QoS kumpulan penyimpanan Anda: otomatis atau manual.NETWORK_NAME
: nama VPC.
Mengedit penyimpanan bersama
gcloud
Edit kumpulan penyimpanan QoS otomatis yang ada untuk menggunakan QoS manual:
gcloud netapp storage-pools update POOL_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --qos-type=QOS_TYPE
Ganti informasi berikut:
POOL_NAME
: nama pool yang ingin Anda perbarui.PROJECT_ID
: nama project.LOCATION
: lokasi pool.QOS_TYPE
: jenis QoS yang diperbarui untuk pool penyimpanan Anda. Hanya konfigurasi manual yang didukung.
Membuat volume
gcloud
Buat volume dengan batas throughput QoS manual yang ditentukan menggunakan perintah berikut:
gcloud netapp volumes create VOLUME_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --storage-pool=STORAGE_POOL \ --capacity=CAPACITY \ --protocols=PROTOCOLS \ --share-name=SHARE_NAME \ --throughput-mibps=THROUGHPUT_MIBPS
Ganti informasi berikut:
VOLUME_NAME
: nama volume. Nama ini harus unik per lokasi.PROJECT_ID
: nama project tempat volume akan dibuat.LOCATION
: lokasi untuk volume.STORAGE_POOL
: kumpulan penyimpanan untuk membuat volume.CAPACITY
: kapasitas volume. Menentukan kapasitas yang dilihat klien NAS.PROTOCOLS
: pilih protokol NAS yang digunakan untuk mengekspor volume. Pilihan yang valid adalah NFSv3, NFSv4, SMB, dan kombinasi berikut:nfsv3,nfsv4
nfsv3,smb
nfsv4,smb
Bergantung pada jenis protokol yang Anda pilih, sebaiknya tambahkan parameter khusus protokol seperti
export-policy
atausmb-settings
.SHARE_NAME
: jalur ekspor NFS atau nama berbagi SMB dari volume.THROUGHPUT_MIBPS
: batas throughput volume dalam MiBps.
Untuk mengetahui informasi selengkapnya tentang flag opsional tambahan, lihat dokumentasi Google Cloud SDK tentang pembuatan volume.
Langkah berikutnya
Baca tentang kumpulan penyimpanan.