Menggunakan cache baca dalam memori CSV

Topik ini menjelaskan cara menggunakan memori sistem untuk meningkatkan performa Azure Local dan Windows Server dengan membuat cache bacaan yang sering. Tulisan tidak dapat di-cache dalam memori.

Azure Local dan Windows Server kompatibel dengan cache baca dalam memori Cluster Shared Volume (CSV). Menggunakan memori sistem untuk pembacaan cache dapat meningkatkan performa untuk aplikasi seperti Hyper-V, yang menggunakan I/O yang tidak dibuffer untuk mengakses file VHD atau VHDX. (I/Os yang tidak dibuffer adalah operasi apa pun yang tidak di-cache oleh Windows Cache Manager.)

Karena cache dalam memori bersifat lokal server, cache tersebut meningkatkan lokalitas data. Bacaan terbaru di-cache dalam memori pada host yang sama di mana komputer virtual (VM) berjalan, mengurangi seberapa sering pembacaan melewati jaringan. Ini menghasilkan latensi yang lebih rendah dan performa penyimpanan yang lebih baik.

Perhatikan bahwa cache baca di dalam memori CSV berbeda dari cache kumpulan penyimpanan.

Pertimbangan perencanaan

Cache baca di memori paling efektif untuk beban kerja yang intensif membaca, seperti Infrastruktur Desktop Virtual (VDI). Sebaliknya, jika beban kerja sangat intensif penulisan, cache dapat menyebabkan lebih banyak beban kerja daripada manfaat dan harus dinonaktifkan.

Anda dapat menggunakan hingga 80% dari memori fisik total untuk cache pembacaan CSV dalam memori. Berhati-hatilah untuk meninggalkan cukup memori untuk VM Anda!

Note

Alat microbenchmarking tertentu seperti DISKSPD dan VM Fleet dapat menghasilkan hasil yang lebih buruk dengan cache baca dalam memori CSV diaktifkan daripada tanpanya. Secara bawaan, VM Fleet membuat satu VHDX 10 GiB per VM – sekitar total 1 TiB untuk 100 VM – dan kemudian melakukan membaca dan menulis secara acak seragam pada VHDX tersebut. Tidak seperti beban kerja nyata, bacaan tidak mengikuti pola yang dapat diprediksi atau berulang, sehingga cache dalam memori tidak efektif dan hanya menimbulkan overhead.

Mengonfigurasi cache baca dalam memori

Cache baca dalam memori CSV tersedia di Azure Local, Windows Server 2019, dan Windows Server 2016 dengan fungsionalitas yang sama. Di Azure Local dan Windows Server 2019, aktif secara default dengan 1 gibibyte (GiB) yang dialokasikan. Di Windows Server 2016, ini nonaktif secara default.

Versi OS Ukuran Cache Default CSV
Azure Local 1 GiB
Windows Server 2019 1 GiB
Windows Server 2016 0 (dinonaktifkan)

Mengonfigurasi cache menggunakan Pusat Admin Windows

Untuk mengonfigurasi cache menggunakan Pusat Admin Windows, lakukan hal berikut:

  1. Di Pusat Admin Windows, sambungkan ke kluster, lalu pilih Pengaturan dari panel Alat di sebelah kiri.
  2. Pilih Cache dalam memori di bawah Penyimpanan pada panel Pengaturan .
  3. Di panel kanan, kotak centang mengaktifkan atau menonaktifkan cache, dan Anda juga dapat menentukan memori maksimum per server yang akan dialokasikan ke cache.
  4. Setelah selesai, pilih Simpan.

Di Pusat Admin Windows, kotak centang mengaktifkan atau menonaktifkan cache. Anda juga dapat menentukan memori maksimum per server yang akan dialokasikan ke cache.

Mengonfigurasi cache menggunakan PowerShell

Untuk melihat berapa banyak memori yang dialokasikan menggunakan PowerShell, jalankan yang berikut ini sebagai administrator:

(Get-Cluster).BlockCacheSize

Nilai yang dikembalikan berada dalam mebibyte (MiB) per server. Misalnya, 1024 mewakili 1 GiB.

Untuk mengubah berapa banyak memori yang dialokasikan, ubah nilai ini menggunakan PowerShell. Misalnya, untuk mengalokasikan 2 GiB per server, jalankan:

(Get-Cluster).BlockCacheSize = 2048

Agar perubahan segera diterapkan, jeda lalu lanjutkan volume CSV Anda, atau pindahkan di antara server. Misalnya, gunakan fragmen PowerShell ini untuk memindahkan setiap CSV ke simpul server lain dan kembali lagi:

Get-ClusterSharedVolume | ForEach {
    $Owner = $_.OwnerNode
    $_ | Move-ClusterSharedVolume
    $_ | Move-ClusterSharedVolume -Node $Owner
}

Langkah selanjutnya

Untuk informasi terkait, lihat juga: