Diagnosticando problemas de latência de rede

2

Eu tenho dois servidores, ambos com placas de rede gigabit, que estavam passando por graves problemas de latência se comunicando uns com os outros. O culpado acabou por ser que um dos servidores foi corrigido em uma porta de switch de 100mb.

o ping nos servidores sempre retornou < 1ms

Existe uma ferramenta que pode mostrar a latência / taxa real de transferência entre os servidores em comparação com o máximo que deveria ser possível?

    
por oooo ooo 15.10.2012 / 11:44

3 respostas

3

Realize monitoração de estado, colete dados, visualize.

  1. Seu sistema operacional tem ferramentas para relatar o estado atual de suas interfaces de rede. Use-os e compare-os com o estado esperado. Automatize isso.
  2. Use contadores snmp ou nativos para coletar amostras. Use contadores de 64 bits para interfaces rápidas ou um intervalo de amostragem muito pequeno.
  3. Ao coletar estatísticas, faça um gráfico delas. Grafite é bem o que acontece hoje em dia.

Então, perceba com o monitoramento, que é nunca em tempo real. Você está sempre olhando para o passado.

E assista a Jason Dixon no devopsdays Rome: O estado do monitoramento de código aberto: o bom, o ruim, o terrível e um vislumbre do nosso futuro .

    
por 15.10.2012 / 12:11
3

Você pode usar uma ferramenta como o iperf para testar a latência real, o jitter e as velocidades de transferência possíveis entre dois servidores. Essa é uma ferramenta de teste, no entanto.

No seu caso específico, seria bastante evidente a partir do sistema operacional para ver quais eram as velocidades link das várias interfaces.

    
por 15.10.2012 / 12:50
0

O teste de latência não é tão difícil. Você pode testar sua latência com dois servidores conectados por meio de uma rede.

Realize uma série de comunicações de 'pingue-pongue' entre os servidores por um determinado período de tempo (por exemplo, 10 segundos). Divida os 'pingue-pings' concluídos entre os servidores no momento. Você agora tem suas transações por segundo.

Vamos analisar os números.

Duração do teste: 10 segundos Transações completam 5.000

Portanto, você fez 1.000 transações por segundo. Se sua transação de pingue-pongue tiver 128 bytes, você terá 128.000 bytes por segundo. Isso equivale a 1.024.000 bits por segundo. Inverta esse número (1 / 1.024.000) e você pode dizer que a latência de sua transação foi de 0,000000978. Isso é 978 nanossegundos por ida e volta.

Os 978 nanossegundos são os seus segundos por bit. Esse foi o tempo que levou para enviar um bit de uma máquina para outra e voltar novamente. Essa é a definição de latência.

Uma boa ferramenta para usar para realizar este teste é o netperf ( link ). Ele executará um teste de pingue-pongue por um determinado período de tempo e fornecerá as estatísticas listadas acima.

Em um servidor, execute "netserver"

No outro servidor, execute netperf -t UDP_RR -H -l 10 - -r 32

Você receberá todas as informações listadas acima. Você pode executar as contas com esses resultados.

Um agradecimento ao Guia do usuário Onload do Solarflare. Eles descrevem esta metodologia de teste em grande detalhe.

    
por 16.01.2017 / 22:52

Tags