(net-fs / nfs-utils-1.2.3-r1, 2.6.38.5-zen + Gentoo)
Googeln scheint eine Sackgasse zu sein. man nfsstat sagt viel nichts über das thema . Das nächste, was ich bekommen konnte, war herauszufinden, was wahrscheinlich vorher " Newcreds " waren.
newcreds Häufigkeit, mit der Authentifizierungsinformationen aktualisiert werden mussten.
Mein Problem ist, dass ich denke, dass ich über OpenVPN eine unterdurchschnittliche NFS-Leistung sehe. Das einzige, was ich sofort sehen kann, das sich erheblich von allen Google-Ergebnissen von nfsstat unterscheidet, ist, dass mein Feld "Anrufe" genau "authrefrsh" entspricht und daher sehr hoch ist . Alle Suchergebnisausgaben hatten immer authrefrsh als 0 oder eine sehr niedrige Zahl. Bevor ich mit dem Debuggen einiger anderer Aspekte fortfahren kann, könnte ich herausfinden, was dies bedeutet.
Watched Operation entwickelt ein Paket über NFS-Shared Portage. Emerge durchquert einen großen Baum während des Betriebs, aber frühere Erfahrungen zeigen, dass die Leistung, die ich sehe, abnormal ist.
$ 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%
Ich kann nicht genau herausfinden, was authrefrsh ist (und diese Schreibweise ist das übrigens beabsichtigt?) Und warum nimmt es in meinem Fall so zu?
authrefrsh=0
, während die neueren Betriebssysteme eine Menge zeigenauthrefrsh
. Ich denke, hier besteht eine Korrelation, aber ich bin mir nicht ganz sicher, was dies alles bedeutet.AUTH_SYS
?call_refresh()
was im Grunde an den RPC-Server (Portmap, rpcbind usw.) geht und dessen Anmeldeinformationen beim Server überprüft. Wir müssen herausfinden, ob es tatsächlich die Ursache für die Latenz ist. Wenn Sie dies tun,AUTH_SYS
ist der Overhead gering und würde nicht die Ursache sein.Antworten:
Aus dem Red Hat-Artikel in den Kommentaren geht die Lösung hervor
Nicht sehr hilfreich, zeigt aber auch den Grund dafür auf.
Es verweist auf das Commit a17c2153d2e271b0cbacae9bed83b0eaa41db7e1 im sunrpc-Paket, das sich dorthin bewegt, wo die NFS-Authentifizierung stattfindet. Ich werde nicht das gesamte Commit kopieren / einfügen, aber es ändert meistens diese Zeilen.
Mein begrenztes Verständnis ist, dass sich diese Zeile dorthin bewegt, wo call_refresh () stattfindet (eher früher als später). Dies bedeutet wiederum, dass die meisten nfs-Anforderungen dazu führen, dass authrefrsh erhöht wird, da immer die Authentifizierung verwendet wird.
quelle
Ich sehe dasselbe (ohne VPN) - authrefrsh == ruft auf der Clientseite auf. Mir scheint, die Anzahl der Anrufe nimmt zu, verlangsamt sich dann und die Anzahl der Authrefrsh holt dann auf.
Client-RPC-Statistiken:
Ich sehe auch sehr hohe iowait:
(von iostat :)
Ich kann in wireshark nichts Ungewöhnliches sehen - ich benutze nfs3 und tcp.
quelle
Nach dem, was ich unter diesem Link verstehe, weisen authrefresh = Anrufe nicht auf ein Problem hin.
https://bugzilla.redhat.com/show_bug.cgi?id=785931
quelle