NFS lento, nfsstat -c: o que é o campo authrefrsh (aka newcreds?) sobre em detalhe?

8

(net-fs / nfs-utils-1.2.3-r1, 2.6.38.5-zen + Gentoo)

Pesquisando isso parece ser um beco sem saída completo. O homem nfsstat diz muito sobre o assunto. O mais próximo que pude obter foi descobrir o que provavelmente era " newcreds ".

newcreds Number of times authentication information had to be refreshed.

Meu problema é que acho que estou vendo um desempenho abaixo do NFS sobre o OpenVPN e a única coisa que posso ver imediatamente é significativamente diferente de todos os resultados nfsstat do Google, é que meu campo "chamadas" é exatamente igual a "authrefrsh" e é, portanto, muito alto. Todos os resultados de pesquisa sempre tiveram authrefrsh como 0 ou um número muito baixo. Antes que eu possa passar para a depuração de alguns outros aspectos, eu poderia usar o que isso significa.

A operação assistida está emergindo um pacote sobre portage compartilhado pelo NFS. o emerge atravessa uma grande árvore durante sua operação, mas a experiência anterior diz que o desempenho que estou vendo é anormal.

$ 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%

Eu não consigo descobrir exatamente o que o authrefrsh é (e essa ortografia é intencional?) e por que isso está aumentando assim no meu caso?

    
por lkraav 21.05.2011 / 22:12

3 respostas

3

Do artigo da Red Hat nos comentários, a solução diz

This is expected behaviour.

Não é muito útil, mas também aponta o motivo pelo qual isso acontece.

Referencia commit a17c2153d2e271b0cbacae9bed83b0eaa41db7e1 no pacote sunrpc que se move onde a autenticação do nfs ocorre. Eu não vou copiar / colar o commit inteiro, mas ele muda principalmente essas linhas.

-struct rpc_cred *cred = task->tk_msg.rpc_cred;
+struct rpc_cred *cred = task->tk_rqstp->rq_cred;

Meu entendimento limitado é que essa linha se move onde o call_refresh () acontece (mais cedo do que tarde). Isso, por sua vez, significa que a maioria das solicitações do nfs farão com que o authrefrsh seja incrementado, já que a autenticação é sempre usada.

    
por 27.01.2015 / 23:20
1

Eu estou vendo a mesma coisa (não usando vpn) - authrefrsh == chamadas no lado do cliente. Parece-me que o número de chamadas aumenta, depois desacelera e o número de authrefrsh é alcançado.

Estatísticas do rpc do cliente:

calls      retrans    authrefrsh
261697     0          261697

Também vejo iowait muito alto:

dd if=/dev/zero of=/mnt/omoikane/testfile bs=16k count=2048

(de iostat:)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          4.04    0.00    4.04   91.92    0.00    0.00

eu não consigo ver nada de anormal no wireshark - estou usando nfs3 e tcp.

    
por 04.06.2011 / 16:49
1

Pelo que entendi neste link, authrefresh = chamadas não está indicando um problema.

link

    
por 15.04.2013 / 20:05