(net-fs/nfs-utils-1.2.3-r1, 2.6.38.5-zen+ 젠투)
구글링 해보면 완전 막다른 골목인 것 같습니다.mennfsstat그 주제에 대해서는 아무 말도 하지 않습니다. 내가 얻을 수 있는 가장 가까운 방법은 이전에 무슨 일이 일어났는지 알아내는 것입니다."새로운 신용".
newcreds 인증 정보를 새로 고쳐야 하는 횟수입니다.
내 문제는 나야생각하다OpenVPN에서 하위 수준의 NFS 성능을 보고 있는데, 모든 nfsstat Google 결과와 크게 다른 점을 즉시 확인할 수 있는 유일한 점은 내 "호출" 필드가 "authrefrsh"와 정확히 동일하므로 매우 높다는 것입니다. 모든 검색 결과에 대한 authrefrsh 출력은 항상 0이거나 매우 낮은 숫자입니다. 다른 측면을 디버깅하기 전에 이것이 무엇을 의미하는지 알아낼 수 있습니다.
모니터링 작업은 NFS 공유 포티지를 기반으로 패키지를 렌더링합니다. 신흥은 실행되면서 큰 나무를 가로지르지만, 이전 경험에 따르면 제가 보고 있는 성능은 비정상적입니다.
$ 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%
authrefrsh가 무엇인지 정확히 알 수 없습니다(그런데 이 철자는 의도적인 것인가요?). 제 경우에는 왜 이렇게 증가하나요?
답변1
~에서Red Hat 기사댓글에서 솔루션은 다음과 같이 말합니다.
이는 예상된 동작입니다.
그다지 도움이 되지는 않지만, 그 일이 발생한 이유도 지적합니다.
이는 nfs 인증이 발생하는 위치로 이동된 sunrpc 패키지의 커밋 a17c2153d2e271b0cbacae9bed83b0eaa41db7e1을 참조합니다. 전체 커밋을 복사/붙여넣지는 않겠지만 주로 이 줄을 변경합니다.
-struct rpc_cred *cred = task->tk_msg.rpc_cred;
+struct rpc_cred *cred = task->tk_rqstp->rq_cred;
내 제한적인 이해는 이 줄이 call_refresh()가 발생하는 곳으로 (나중에가 아니라 조만간) 이동된다는 것입니다. 이는 결국 인증이 항상 사용되기 때문에 대부분의 nfs 요청으로 인해 authrefrsh가 증가한다는 것을 의미합니다.
답변2
나는 동일한 것을 봅니다 (VPN을 사용하지 않음) - authrefrsh == 클라이언트 측에서 호출되었습니다. 호출 수가 증가했다가 속도가 느려지고 authrefrsh 수가 따라잡는 것 같습니다.
클라이언트 rpc 통계:
calls retrans authrefrsh
261697 0 261697
나는 또한 매우 높은 iowait를 보고 있습니다.
dd if=/dev/zero of=/mnt/omoikane/testfile bs=16k count=2048
(iostat에서 :)
avg-cpu: %user %nice %system %iowait %steal %idle
4.04 0.00 4.04 91.92 0.00 0.00
Wireshark에서 특이한 점은 보이지 않습니다. 저는 nfs3와 tcp를 사용하고 있습니다.
답변3
이 링크에서 내가 이해하는 한 authrefresh = Calls는 문제를 나타내지 않습니다.