(net-fs / nfs-utils-1.2.3-r1, 2.6.38.5-zen + Gentoo)
Googling ini tampaknya jalan buntu. man nfsstat mengatakan banyak tentang subjek. Yang paling dekat yang bisa saya dapatkan adalah mencari tahu tentang apa yang sebelumnya mungkin " kredit baru ".
newcreds Jumlah kali informasi otentikasi harus di-refresh.
Masalah saya adalah saya pikir saya melihat kinerja NFS di bawah standar atas OpenVPN dan satu-satunya hal yang saya dapat segera lihat yang secara signifikan berbeda dari semua hasil nfsstat Google, adalah bahwa bidang "panggilan" saya sama persis dengan "authrefrsh" dan karena itu sangat tinggi . Semua output hasil pencarian selalu memiliki authrefrsh sebagai 0 atau angka yang sangat rendah. Sebelum saya bisa beralih ke debugging beberapa aspek lain, saya bisa menggunakan mencari tahu apa artinya ini.
Operasi yang diawasi sedang memunculkan sebuah paket melalui portage yang dibagikan NFS. emerge memang melintasi pohon besar selama operasinya tetapi pengalaman sebelumnya mengatakan bahwa kinerja yang saya lihat tidak normal.
$ watch -n 1 nfsstat -c
Every 1,0s: nfsstat -c Sat May 21 23:04:55 2011
Client rpc stats:
calls retrans authrefrsh
308565 2211 308565
Client nfs v3:
null getattr setattr lookup access readlink
0 0% 172372 55% 17 0% 30485 9% 36057 11% 26831 8%
read write create mkdir symlink mknod
25879 8% 107 0% 21 0% 0 0% 0 0% 0 0%
remove rmdir rename link readdir readdirplus
16 0% 0 0% 11 0% 0 0% 0 0% 16668 5%
fsstat fsinfo pathconf commit
3 0% 50 0% 25 0% 2 0%
Saya tidak tahu persis apa itu authrefrsh (dan ejaan ini, apakah itu disengaja?) Dan mengapa itu meningkat seperti ini dalam kasus saya?
authrefrsh=0
, sementara OS yang lebih baru menunjukkan banyakauthrefrsh
. Saya pikir ada korelasi di sini, tetapi tidak yakin apa artinya semua ini.AUTH_SYS
?call_refresh()
yang pada dasarnya pergi ke server RPC (portmap, rpcbind, dll) dan memvalidasi kredensial dengan server. Kita perlu mencari tahu apakah itu sebenarnya yang menyebabkan latensi. Jika Anda melakukannyaAUTH_SYS
maka biaya overhead rendah dan tidak akan menjadi penyebabnya.Jawaban:
Dari artikel Red Hat di komentar solusinya
Tidak terlalu membantu tetapi juga menunjukkan alasan itu terjadi.
Ini merujuk komit a17c2153d2e271b0cbacae9bed83b0eaa41db7e1 dalam paket sunrpc yang bergerak di mana otentikasi nfs terjadi. Saya tidak akan menyalin / menempelkan seluruh komit, tetapi sebagian besar mengubah baris ini.
Pemahaman saya yang terbatas adalah bahwa baris ini bergerak di tempat call_refresh () terjadi (lebih cepat daripada nanti). Ini pada gilirannya berarti sebagian besar semua permintaan nfs akan menyebabkan authrefrsh bertambah karena otentikasi selalu digunakan.
sumber
Saya melihat hal yang sama (tidak menggunakan vpn) - authrefrsh == panggilan di sisi klien. Bagi saya sepertinya jumlah panggilan meningkat, kemudian melambat, dan jumlah authrefrsh kemudian naik.
Statistik rpc klien:
Saya melihat iowait sangat tinggi juga:
(dari iostat :)
Saya tidak dapat melihat sesuatu yang tidak biasa di wireshark - Saya menggunakan nfs3 dan tcp.
sumber
Dari apa yang saya mengerti dari tautan ini, authrefresh = panggilan tidak menunjukkan masalah.
https://bugzilla.redhat.com/show_bug.cgi?id=785931
sumber