Dengan menggunakan nfsstat -c
, saya melihat "authrefrsh" tinggi (dikenal sebagai "newcred" pada beberapa sistem) mengandalkan PC klien NFS saya untuk operasi seperti ls
dan find
pada direktori yang berisi ~ 1000 file. Ini berkorelasi dengan kinerja yang sangat buruk (daftar direktori 20 menit lebih). Operasi NFS yang di-cache tidak menunjukkan perilaku ini (authrefrsh atau perlambatan).
authrefrsh = panggilan setiap kali saya memeriksa nfsstat:
$ nfsstat -c
Client rpc stats:
calls retrans authrefrsh
280462 0 280462
Client nfs v3:
null getattr setattr lookup access readlink
0 0% 126990 45% 0 0% 10062 3% 58592 20% 0 0%
read write create mkdir symlink mknod
25030 8% 0 0% 65 0% 0 0% 2 0% 0 0%
remove rmdir rename link readdir readdirplus
0 0% 0 0% 0 0% 0 0% 0 0% 59654 21%
fsstat fsinfo pathconf commit
0 0% 20 0% 10 0% 0 0%
Detail koneksi:
$ mount.nfs -v nfshost:/share/dir /somedir
mount.nfs: timeout set for Tue Feb 21 18:12:18 2012
mount.nfs: trying text-based options 'vers=4,addr=192.168.xx.xx,clientaddr=192.168.xx.xx'
mount.nfs: mount(2): Operation not permitted
mount.nfs: trying text-based options 'addr=192.168.xx.xx'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 192.168.xx.xx prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=17
mount.nfs: trying 192.168.xx.xx prog 100005 vers 3 prot UDP port 1011
nfshost:/share/dir on /somedir type nfs
lingkungan RPC nfshost:
$ rpcinfo -T udp nfshost nfs
program 100003 version 2 ready and waiting
program 100003 version 3 ready and waiting
program 100003 version 4 ready and waiting
$ rpcinfo -T udp nfshost mountd
program 100005 version 1 ready and waiting
program 100005 version 2 ready and waiting
program 100005 version 3 ready and waiting
$ rpcinfo -T udp nfshost nlockmgr
program 100021 version 1 ready and waiting
rpcinfo: RPC: Program/version mismatch; low version = 1, high version = 4
program 100021 version 2 is not available
program 100021 version 3 ready and waiting
program 100021 version 4 ready and waiting
$ rpcinfo -T udp nfshost llockmgr
rpcinfo: RPC: Program not registered
$ rpcinfo nfshost
program version netid address service owner
100000 2 tcp 0.0.0.0.0.111 portmapper unknown
100000 2 udp 0.0.0.0.0.111 portmapper unknown
100024 1 udp 0.0.0.0.2.212 status unknown
100024 1 tcp 0.0.0.0.2.215 status unknown
100021 1 udp 0.0.0.0.226.67 nlockmgr unknown
100021 3 udp 0.0.0.0.226.67 nlockmgr unknown
100021 4 udp 0.0.0.0.226.67 nlockmgr unknown
100021 1 tcp 0.0.0.0.134.55 nlockmgr unknown
100021 3 tcp 0.0.0.0.134.55 nlockmgr unknown
100021 4 tcp 0.0.0.0.134.55 nlockmgr unknown
100011 1 udp 0.0.0.0.3.230 rquotad unknown
100011 2 udp 0.0.0.0.3.230 rquotad unknown
100011 1 tcp 0.0.0.0.3.233 rquotad unknown
100011 2 tcp 0.0.0.0.3.233 rquotad unknown
100003 2 udp 0.0.0.0.8.1 nfs unknown
100003 3 udp 0.0.0.0.8.1 nfs unknown
100003 4 udp 0.0.0.0.8.1 nfs unknown
100003 2 tcp 0.0.0.0.8.1 nfs unknown
100003 3 tcp 0.0.0.0.8.1 nfs unknown
100003 4 tcp 0.0.0.0.8.1 nfs unknown
100005 1 udp 0.0.0.0.3.243 mountd unknown
100005 1 tcp 0.0.0.0.3.246 mountd unknown
100005 2 udp 0.0.0.0.3.243 mountd unknown
100005 2 tcp 0.0.0.0.3.246 mountd unknown
100005 3 udp 0.0.0.0.3.243 mountd unknown
100005 3 tcp 0.0.0.0.3.246 mountd unknown
Lingkungan Hidup:
$ uname -a
Linux whiteheat 3.0.0-15-generic #26-Ubuntu SMP Fri Jan 20 17:23:00 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
$ mount.nfs a b -V
mount.nfs: (linux nfs-utils 1.2.4)
Jawaban:
Saya mengalami masalah ini dengan NFS. Masalah dalam kasus saya disebabkan oleh actimeo yang disetel terlalu rendah. Meskipun Anda mungkin tidak menggunakan pengaturan persis ini, ada seluruh rangkaian pengaturan yang dapat menyebabkan kekacauan: acregmin, acregmax, acdirmin, dan acdirmax. Pada dasarnya apa yang terjadi adalah bahwa sistem melakukan caching atribut file dari NFS. Pengaturan ini mempengaruhi berapa lama atribut file disimpan sebelum menyegarkan dari NFS. Pada sistem dengan penggunaan yang berat, penyegaran ini menjadi sangat jelas.
Pengaturan bermasalah lainnya adalah noac . Jika Anda menggunakan ini, Anda menjamin bahwa setiap penulisan akan segera tersedia untuk semua klien lain. Namun, menulis akan menunggu sampai selesai menulis ke remote daripada menggunakan tulis-balik. Ini dapat membuat sistem bertekuk lutut jika sering menulis ke NFS.
Ini adalah artikel blog yang menarik di mana mereka berbicara tentang berbagai opsi dan pengaruhnya terhadap kinerja NFS. Anda juga bisa melihat halaman manual untuk NFS untuk panduan lebih lanjut. Sayangnya, authrefrsh bisa menjadi sedikit herring merah dan masalah saya mungkin sama sekali tidak terkait, walaupun dengan gejala yang sama.
sumber