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.
# 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.