O comando nfsstat -c

O cliente NFS exibe o número de chamadas de NFS enviadas e rejeitadas, bem como o número de vezes que uma alça de cliente foi recebida, clgets, e uma contagem dos vários tipos de chamadas e suas respectivas porcentagens.

O exemplo a seguir mostra a saída de comando nfsstat especificada para clientes usando a opção -c :
# nfsstat -c

Client rpc:
Connection oriented
calls     badcalls  badxids  timeouts  newcreds badverfs  timers
0          0          0          0          0          0          0
nomem     cantconn interrupts
0          0          0
Connectionless
calls     badcalls retrans   badxids   timeouts newcreds  badverfs
6553       0          0          0          0          0          0
timers    nomem     cantsend
0          0          0


Client nfs:
calls      badcalls   clgets     cltoomany
6541       0          0          0
Version 2: (6541 calls)
null       getattr    setattr    root       lookup     readlink   read
0 0%       590 9%     414 6%     0 0%       2308 35%   0 0%       0 0%
wrcache    write      create     remove     rename     link       symlink
0 0%       2482 37%   276 4%     277 4%     147 2%     0 0%       0 0%
mkdir      rmdir      readdir    statfs
6 0%       6 0%       30 0%      5 0%
Version 3: (0 calls)
null       getattr    setattr    lookup     access     readlink   read
0 0%       0 0%       0 0%       0 0%       0 0%       0 0%       0 0%
write      create     mkdir      symlink    mknod      remove     rmdir
0 0%       0 0%       0 0%       0 0%       0 0%       0 0%       0 0%
rename     link       readdir    readdir+   fsstat     fsinfo     pathconf
0 0%       0 0%       0 0%       0 0%       0 0%       0 0%       0 0%
commit
0 0%

RPC A saída para o cliente, -c, é a seguinte:

chamadas
Número total de chamadas do tipo “ RPC ” feitas para NFS
badchamadas
Número total de chamadas rejeitadas pela camada de gerenciamento de chamadas ( RPC )
retransmissão
Número de vezes que uma chamada teve que ser retransmitida devido a um tempo limite enquanto esperava por uma resposta do servidor. Isso se aplica apenas a RPC em transportes sem conexão
badxido
Número de vezes que uma resposta de um servidor foi recebida que não correspondeu a qualquer chamada pendente. Isto significa que o servidor está demorando demais para responder
timeouts
Número de vezes que uma chamada cronomeia enquanto aguarda uma resposta do servidor
newcreds
Número de vezes informações de autenticação tiveram que ser renovadas.
badverfs
Número de vezes que uma chamada falhou devido a um mau verificador na resposta.
cronômetros
Número de vezes que o valor de tempo limite calculado foi maior ou igual ao valor de tempo limite mínimo especificado para uma chamada.
nomem
Número de vezes que uma chamada falhou devido a uma falha na alocação de memória.
cantconn
Número de vezes que uma chamada falhou devido a uma falha no sentido de fazer uma conexão com o servidor.
Interrupções
Número de vezes que uma chamada foi interrompida por um sinal antes de completar.
não consigo enviar
Número de vezes que um envio falhou devido a uma falha no sentido de fazer uma conexão com o cliente.

A saída também exibe uma contagem dos vários tipos de chamadas e suas respectivas porcentagens.

Para monitorar o desempenho, o comando nfsstat -c fornece informações sobre se a rede está descartando pacotes do tipo UDP. Uma rede pode soltar um pacote se não puder lidar com isso. Pacotes eliminados podem ser o resultado do tempo de resposta do hardware ou software de rede ou de uma CPU sobrecarregada no servidor. Pacotes eliminados realmente não são perdidos, porque um pedido de substituição é emitido para eles.

A coluna "retrans" na seção " RPC " exibe o número de vezes que as solicitações foram retransmitidas devido a um tempo limite de espera pela resposta. Essa situação está relacionada à perda de pacotes do protocolo UDP. Se o valor retrans exceder consistentemente cinco por cento do total de chamadas na coluna um, ele indica um problema com o servidor mantendo-se atualizado com a demanda. Use os comandos vmstat e iostat na máquina do servidor para verificar a carga.

Uma contagem elevada de badxids indica que as solicitações estão chegando aos diversos servidores NFS, mas que esses servidores estão sobrecarregados demais para enviar respostas antes que as chamadas RPC do cliente atinjam o tempo limite e sejam retransmitidas. O valor badxid é incrementado a cada vez que uma resposta duplicada é recebida para uma solicitação transmitida. Uma solicitação de ` RPC ` mantém seu valor XID ao longo de todos os ciclos de transmissão. As retransmissões excessias colocam uma tensão adicional no servidor, degradando ainda mais o tempo de resposta. Se o valor de badxid e o número de timeouts forem superiores a 5% do total de chamadas, aumente o parâmetro timeo das opções de montagem ` NFS ` usando o comando ` smitty chnfsmnt`. Se o valor de badxid for 0, mas o valor de retrans e o número de timeouts forem consideráveis, tente diminuir o tamanho do buffer de NFS ação usando as opções rsize e wsize do mount comando.

Se o número de retransmissos e tempos limite estiver próximo do mesmo valor, é certo que os pacotes estão sendo eliminados. Veja Pacotes Dropped para mais discussão.

Em algumas instâncias, um aplicativo ou usuário experimenta um desempenho ruim, no entanto o exame da saída de comando nfsstat -c indica não ou muito poucos tempos e retransmissores. Isso significa que o cliente está recebendo respostas do servidor tão rápido quanto ele está pedindo por elas. A primeira coisa a verificar é que há um número apropriado de daemons biod em execução na máquina cliente. Isso também pode ser observado quando um aplicativo está fazendo bloqueio de arquivo remoto. Quando bloqueios de arquivos remotos são configurados em um arquivo servido sobre NFS, o cliente entra em um modo totalmente síncrono de operação que irá desligar todos os dados e atribuir caching para o arquivo. O resultado é um desempenho muito lento e é, infelizmente, normal. É possível identificar pacotes de bloqueio na saída ipreport procurando por pedidos de NLM.