(net-fs / nfs-utils-1.2.3-r1, 2.6.38.5-zen + 젠투)
인터넷 검색은 완전한 막 다른 골목 인 것 같습니다. 남자 nfsstat 는 그 주제에 대해 아무 것도 말하지 않습니다. 내가 얻을 수있는 가장 가까운 것은 아마도 이전에 ” 새로운 신용 ” 이 무엇인지 알아내는 것이었다 .
newcreds 인증 정보를 갱신해야하는 횟수입니다.
내 문제는 OpenVPN보다 하위 수준의 NFS 성능을보고 있다고 생각 하며 모든 nfsstat Google 결과와 크게 다른 점을 즉시 볼 수있는 유일한 것은 “통화”필드가 정확히 “authrefrsh”와 동일하므로 매우 높습니다 . 모든 검색 결과 출력에는 항상 authrefrsh가 0 또는 매우 낮은 숫자가있었습니다. 다른 측면의 디버깅으로 넘어 가기 전에 이것이 무엇을 의미하는지 알아낼 수 있습니다.
감시 작업은 NFS 공유 포티지에서 패키지가 등장하고 있습니다. emerge는 작동하는 동안 큰 나무를 가로 지르지 만 이전 경험에 따르면 내가보고있는 성능이 비정상적이라고 말합니다.
$ 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가 무엇인지 정확히 알 수 없으며 (이 철자가 의도적으로 btw입니까?) 왜 내 경우에는 이렇게 증가합니까?
답변
의견 의 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가 증가 함을 의미합니다.
답변
나는 클라이언트 측에서 authrefrsh == 호출과 같은 것을 보았습니다 (vpn을 사용하지 않음). 통화 수가 증가한 다음 속도가 느려지고 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를 사용하고 있습니다.
답변
이 링크에서 내가 이해 한 바에 따르면 authrefresh = 호출은 문제를 나타내지 않습니다.