Mengoptimalkan performa

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 tetapkan sunrpc.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 parameter sunrpc.max_tcp_slot_table_entries, tambahkan parameter ke file /etc/sysctl.conf dan muat ulang file parameter menggunakan perintah sysctl -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 9

    • Working set 6 TiB

    Penggunaan nilai nconnect sebesar 16 menghasilkan performa lima kali lebih baik daripada saat tidak diaktifkan.

    Perbandingan nconnect NFS menggunakan satu Virtual Machine Red Hat 9 dengan ukuran blok 8 KiB.

    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 2022

    • Working 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. Parameter iodepth ditingkatkan sebanyak lima setiap eksekusi hingga throughput maksimum tercapai.

    Perbandingan RSS SMB VM Windows 2022 tunggal dengan ukuran blok 8 KiB

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 atau smb-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.