Baca-lebih-dahulu NFS Linux

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:

  1. Cari pemasangan di /proc/self/mountinfo dan catat ID BDI di kolom ketiga.

  2. 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 kali rsize kira-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.

  1. Buat /etc/udev/rules.d/99-nfs-readahead.rules dan sesuaikan nilai read_ahead_kb sesuai 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"
    
  2. Gunakan jalur absolut ke awk di sistem Anda dalam atribut PROGRAM=.

  3. Muat ulang udev:

    sudo udevadm control --reload
    
  4. 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 rsize dan 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.

Langkah berikutnya