Mengoptimalkan performa Hyperdisk

Setelah Anda menyediakan volume Google Cloud Hyperdisk, aplikasi dan sistem operasi Anda mungkin memerlukan penyesuaian performa untuk memenuhi kebutuhan performa Anda.

Di bagian berikut, kami menjelaskan beberapa elemen utama yang dapat disesuaikan untuk meningkatkan performa dan cara menerapkan beberapa elemen ini ke jenis beban kerja tertentu.

Untuk mengetahui ringkasan cara kerja performa Google Cloud Hyperdisk, lihat Tentang performa Hyperdisk.

Menggunakan antrean I/O berkedalaman lebih

Volume Hyperdisk memiliki latensi lebih tinggi daripada disk yang terpasang secara lokal seperti SSD lokal karena merupakan perangkat yang terhubung ke jaringan. API tersebut dapat memberikan IOPS dan throughput yang sangat tinggi, tetapi Anda harus memastikan bahwa permintaan I/O yang cukup dilakukan secara paralel. Jumlah permintaan I/O yang dilakukan secara paralel disebut sebagai kedalaman antrean I/O.

Tabel berikut menunjukkan kedalaman antrean I/O yang direkomendasikan untuk memastikan Anda dapat mencapai level performa tertentu. Tabel ini menggunakan sedikit perkiraan latensi yang lebih tinggi untuk menampilkan rekomendasi konservatif. Contoh ini mengasumsikan bahwa Anda menggunakan ukuran I/O 16 KB.

IOPS yang diinginkan Kedalaman antrean
500 1
1.000 2
2.000 4
4.000 8
8.000 16
16.000 32
32.000 64
64.000 128
100.000 200
200.000 400
320.000 640
Throughput yang diinginkan (MB/dtk) Kedalaman antrean
8 1
16 2
32 4
64 8
128 16
256 32
512 64
1.000 128
1.200 153

Memastikan CPU Anda kosong

Membaca dan menulis ke volume Hyperdisk memerlukan siklus CPU dari VM Anda. Jika instance VM Anda kekurangan CPU, aplikasi Anda tidak akan dapat mengelola IOPS yang dijelaskan sebelumnya. Untuk mencapai level IOPS yang sangat tinggi dan konsisten, Anda harus memiliki CPU yang bebas untuk memproses I/O.

Menonaktifkan perlindungan penulisan yang terpenggal di tingkat database untuk mengoptimalkan penulisan

Karena Google Cloud Hyperdisk menyediakan perlindungan penulisan yang terpenggal bawaan, Anda dapat menonaktifkan fitur perlindungan tingkat database untuk mengurangi overhead I/O dan meningkatkan throughput penulisan database hingga 25%. Untuk mempelajari lebih lanjut fitur ini, lihat Perlindungan penulisan yang terpenggal di halaman ringkasan Hyperdisk.

Persyaratan konfigurasi lingkungan

Agar perlindungan penulisan yang terpenggal Hyperdisk efektif, penulisan database tidak boleh terpenggal sebelum mencapai lapisan penyimpanan. Bergantung pada database Anda, Anda dapat mencapainya dengan menggunakan salah satu opsi konfigurasi berikut:

Opsi 1: Menyelaraskan lapisan ke batas blok 16 KiB (direkomendasikan untuk MySQL dan PostgreSQL)

Konfigurasikan sistem operasi, sistem file, dan lapisan software perantara untuk mempertahankan batas 16 KiB. Jika menggunakan opsi ini, Anda harus mempertahankan konfigurasi khusus ini:

  • Sistem file: Gunakan sistem file ext4. Anda harus membuat sistem file dengan opsi bigalloc dan mengonfigurasi ukuran cluster sistem file ke 16 KiB (16.384 byte) atau kelipatan dua yang lebih besar dari 16 KiB:

    mkfs.ext4 -O bigalloc -C 16384 /dev/<var>DEVICE_NAME</var>
    

    Ganti DEVICE_NAME dengan nama perangkat penyimpanan.

  • Konfigurasi yang tidak didukung: Hindari konfigurasi yang dapat menyebabkan penulisan yang terpenggal di atas lapisan block storage, seperti berikut:

    • Menjalankan database dalam container di Google Kubernetes Engine atau Kubernetes yang dihosting sendiri.
    • Menyimpan file database di sistem file xfs, yang biasanya tidak mendukung ukuran blok yang memadai di sebagian besar distribusi Linux.
    • Menggunakan konfigurasi array disk independen yang redundan (RAID) atau pengelola volume logis (LVM) yang menghapus I/O.
    • Menggunakan Hyperdisk dengan cache SSD Lokal, termasuk lvmcache, dm-cache, atau bcache.
    • Menggunakan virtualisasi bertingkat untuk VM database.

Opsi 2: Menggunakan I/O atomik blok Linux (direkomendasikan untuk MariaDB)

Jika database atau aplikasi Anda mendukung I/O atomik blok Linux dan mengakses file menggunakan I/O langsung (O_DIRECT), Anda dapat melewati aturan konfigurasi yang tercantum di opsi 1 asalkan Anda memenuhi kondisi berikut:

  • Flag RWF_ATOMIC: Aplikasi harus menggunakan pwritev2() panggilan sistem dengan RWF_ATOMIC flag. Saat menggunakan flag ini, kernel Linux memastikan bahwa operasi tulis diproses sebagai satu blok yang berdekatan oleh perangkat Hyperdisk yang mendasarinya. Jika kernel tidak dapat menjamin atomisitas, panggilan tulis akan langsung gagal untuk mencegah kerusakan data.
  • Sistem operasi: Harus Linux kernel versi 6.11 atau yang lebih baru.
  • Sistem file: Harus ext4 atau xfs di Linux versi kernel 6.13 atau yang lebih baru.
  • Akses file: Aplikasi harus membuka file database menggunakan I/O langsung (O_DIRECT).
  • Database yang didukung: Sebaiknya gunakan opsi ini hanya untuk MariaDB versi 11.x atau yang lebih baru (untuk dukungan RWF_ATOMIC Linux generik). MySQL dan PostgreSQL tidak mendukung fitur ini.

Untuk mengetahui petunjuk pengoptimalan khusus database yang mendetail, lihat Mengonfigurasi MySQL di Compute Engine.

Meninjau metrik performa Hyperdisk

Anda dapat meninjau metrik performa disk di Cloud Monitoring, Google Cloud's solusi pemantauan terintegrasi. Anda dapat menggunakan metrik ini untuk mengamati performa disk dan resource VM lainnya di berbagai beban kerja aplikasi.

Untuk mempelajari lebih lanjut, baca Meninjau metrik performa disk.

Anda juga dapat menggunakan halaman Kemampuan observasi di konsol untuk melihat metrik performa disk.

Langkah berikutnya