Halaman ini menjelaskan cara menyesuaikan baca-lebih-dahulu NFS di klien Linux yang me-mount NetApp Volumes. Baca-dahulu memungkinkan kernel melakukan pengambilan data blok file terlebih dahulu sebelum aplikasi memintanya, sehingga meningkatkan throughput baca berurutan. Baca-lebih-dulu tidak menggantikan opsi pemasangan atau penyesuaian serentak; konfigurasikan opsi tersebut terlebih dahulu. Untuk mengetahui informasi selengkapnya, lihat Mengoptimalkan klien NFS Linux.
Sebelum memulai
Selesaikan prasyarat berikut sebelum Anda menyesuaikan baca-depan NFS:
Jika Anda berencana menyesuaikan tabel slot atau slot sesi, selesaikan konkurensi NFS Linux terlebih dahulu.
Pasang volume dengan opsi pemasangan NFS Linux yang sesuai, termasuk
rsize. Untuk mengetahui informasi selengkapnya, lihat Opsi pengaitan NFS Linux.Sesuaikan baca-lebih-dulu setelah Anda memasang volume.
Ringkasan baca terus
Saat aplikasi membaca file secara berurutan, klien NFS Linux dapat meminta data tambahan di luar pembacaan saat ini. Hal ini menyembunyikan latensi jaringan dan meningkatkan throughput untuk beban kerja berurutan, seperti pemutaran log, streaming media, penyalinan massal, dan beberapa pemindaian analisis.
Baca-lebih-dulu dikonfigurasi per direktori pemasangan. Kurang efektif untuk workload baca acak daripada untuk workload baca berurutan.
Default dan rsize
Banyak distribusi Linux yang menyetel baca-lebih-dulu menjadi sekitar 15 kali rsize. Beberapa distribusi menggunakan baca-lebih lanjut 128 KiB tetap, terlepas dari rsize, yang dapat mengurangi performa baca berurutan setelah upgrade. Periksa nilai saat ini di sistem file yang terpasang sebelum Anda mengubahnya.
Melihat baca-lebih-dulu untuk pemasangan
Setiap direktori pemasangan NFS memiliki perangkat blok pendukung yang sesuai di bagian
/sys/class/bdi/. Untuk menemukan ID perangkat blok pendukung (BDI) dan melihat
nilai read_ahead_kb saat ini, selesaikan langkah-langkah berikut:
Cari pemasangan di
/proc/self/mountinfodan catat ID BDI di kolom ketiga.Baca nilai dalam kilobyte:
cat /sys/class/bdi/BDEV/read_ahead_kb
Memilih nilai baca-lebih-dulu
Gunakan panduan berikut untuk memilih nilai baca-lebih-dulu yang sesuai untuk beban kerja Anda:
Jika Anda tidak memerlukan performa maksimum, pertahankan default distribusi Anda dan jangan sesuaikan baca-lebih-dulu.
Mulai dengan 15 kali
rsize(dalam KiB) jika distribusi Anda tidak lagi menyetelnya secara otomatis.Untuk
rsize=1048576(1 MiB), 15 kalirsizekira-kira 15.360 KiB (15 MiB).Tingkatkan atau turunkan nilai dalam langkah-langkah dan ukur performa menggunakan aplikasi dan
nfsiostat. Uji nilai yang lebih besar dari 15.360 KiB sebelum digunakan dalam produksi.
Baca-lebih-dulu berinteraksi dengan cache halaman. Workload yang melewati cache
(O_DIRECT) tidak mendapatkan manfaat dari baca-lebih-dulu seperti yang dilakukan pembacaan cache berurutan.
Mempertahankan baca-lebih-dulu saat reboot
Perubahan dinamis berlaku hingga Anda melepas atau memulai ulang. Untuk mempertahankan perubahan ini untuk pemasangan NFS, buat aturan udev.
Buat
/etc/udev/rules.d/99-nfs-readahead.rulesdan sesuaikan nilairead_ahead_kbsesuai kebutuhan:SUBSYSTEM=="bdi", ACTION=="add", PROGRAM="/usr/bin/awk -v bdi=$kernel 'BEGIN{ret=1} {if ($4 == bdi) {ret=0}} END{exit ret}' /proc/fs/nfsfs/volumes", ATTR{read_ahead_kb}="15360"Gunakan jalur absolut ke
awkdi sistem Anda dalam atributPROGRAM=.Muat ulang
udev:sudo udevadm control --reload
Pasang kembali volume NFS atau mulai ulang untuk memicu aturan bagi perangkat BDI baru.
Uji aturan udev di host non-produksi terlebih dahulu. Aturan yang salah dapat memengaruhi perangkat blok non-NFS jika ekspresi kecocokan salah.
Panduan workload
Pertimbangkan panduan berikut berdasarkan jenis workload Anda saat menyetel baca-lebih-dulu:
Baca acak (OLTP, I/O acak kecil): pertahankan look-ahead baca default.
Pembacaan berurutan (media, salinan massal, dan beberapa komputasi berperforma tinggi): naikkan hingga 15 kali
rsizedan ukur.Campuran: sesuaikan hanya jika pembuatan profil menunjukkan hambatan baca berurutan.
Rendah
rsize(64 KiB) dengan pengambilan data di muka default 128 KiB: pertimbangkan untuk meningkatkan pengambilan data di muka menjadi 960 KiB atau lebih tinggi.
Gabungkan penyesuaian baca-lebih-dulu dengan setelan rsize, nconnect, dan serentak yang sesuai.