TROUBLESHOOTING
A partir de um PerfSONAR configurado, uma vez detectado alguma anomalia na infraestrutura monitorada ou mesmo resultados não fora da , pode ser necessário realizar
procedimentos adicionais de troubleshooting a fim de achar a origem de determinado problema.
Um primeiro passo é a revisão de todos os parâmetros mencionados na seção de otimizações (aqui). Caso esteja tudo de acordo com o desejado, a seguir há alguns checks importantes para realizar um troubleshooting eficaz, ajudando a identificar possíveis causas de problemas de desempenho que possam surgir.
CHECKS
SYSCTL - Variáveis do kernel
Confirme se as otimizações configuradas via sysctl estão com os valores adequados ao cenário de alto desempenho. Por exemplo, para verificar se o cache do ssthresh está desabilitado, execute o seguinte comando:
O retorno do comando exibirá o nome da variável e o valor atualmente em uso.
Repita esse procedimento para todas as variáveis configuradas via sysctl que precisam estar otimizadas para o ambiente.
ETHTOOL - Parâmetros da placa de rede
Verifique se os parâmetros da placa de rede, ajustados com o utilitário ethtool, estão corretos para o cenário. Por exemplo, para confirmar se o ring buffer está configurado com o valor ideal, utilize o comando:
Warning
Diferente do sysctl, no ethtool você deve usar o parâmetro "modo" (ex.: -g) em letras minúsculas e sem argumentos adicionais. Isso exibe os valores de configuração correspondentes, permitindo verificar se estão ajustados para o valor ideal.
O comando deve retornar os valores de RX e TX do ring buffer, ajudando a verificar se a configuração está correta.
A mesma abordagem pode ser usada para conferir outros parâmetros da NIC configurados com ethtool.
SS - Socket Statistics
Uma vez conferido os tunings, uma solução para uma investigação profunda de um problema é o uso do SS para executar testes pontuais e visualizar resultados com um maior nível de granularidade. Dependendo do cenário, é possível que somente o PerfSONAR não seja suficiente para detectar detalhes minuciosos que estejam afetando negativamente a infraestrutura como um todo. Nesse sentido, aliado ao comando SS foi desenvolvido um Jupyter Notebook a fim de facilitar o manuseio e visualização dessa análise do comando. Assim, sendo possível ter acesso, entre outras coisas, por exemplo, ao valor de throughput de cada fluxo TCP e determinar se está sendo feito o paralelismo adequado por parte do sistema operacional ou ferramenta.
Jupyter Notebook
Para uma análise técnica detalhada dos fluxos de rede, consulte o Jupyter Notebook:
ss-fluxos.ipynb