느린 NFS, nfsstat -c:authrefrsh(일명 newcreds?) 필드의 세부 정보는 무엇입니까?

느린 NFS, nfsstat -c:authrefrsh(일명 newcreds?) 필드의 세부 정보는 무엇입니까?

(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는 문제를 나타내지 않습니다.

https://bugzilla.redhat.com/show_bug.cgi?id=785931

관련 정보