Rastreando largura de banda e latência no Linux

Rastreando largura de banda e latência no Linux

Estou tentando escrever um script simples que possa detectar quedas no tráfego de rede (largura de banda e latência em ambas as direções) entre dois hosts arbitrários em minha rede ao longo do tempo. Existe uma ferramenta para fazer isso?

Se necessário, pretendo escrever alguns scripts cliente/servidor em bash para realizar esses testes usando nc(netcat), mas se uma solução pré-existente capturar o que estou tentando fazer, por favor me avise.

Primeiro, determinarei quantos dados posso enviar em 1 segundo entre meus hosts arbitrários. Chamaremos isso de "carga útil". Os testes iniciais mostram que a carga útil é de aproximadamente 50 MB.

Então executarei o seguinte:

  1. O cliente envia a carga útil para o servidor.
  2. Quando o servidor receber toda a carga útil, ele responderá imediatamente enviando uma carga útil ao cliente.
  3. Quando o cliente receber toda a carga útil, ele ficará suspenso por 30 segundos. Vá para 1.

Ao fazer isso, receberei os seguintes dados (largura de banda bidirecional e latência):

  1. Ao registrar a timeexecução do nccliente para o servidor em (1), obterei a largura de banda enviando dados do cliente para o servidor.
  2. Ao registrar a timeexecução do ncservidor para o cliente em (2), obterei a largura de banda enviando dados do servidor para o cliente.
  3. De alguma forma, determinarei a latência do pacote, talvez usando uma ferramenta de monitoramento ou diferenciando os carimbos de data e hora entre o primeiro pacote da carga enviada da origem e o primeiro pacote da carga recebido no destino.

Responder1

iPerf é uma boa ferramenta para testes de desempenho. Em vez de escrever um script para monitorar a carga da maneira que você propõe, eu examinaria o Nagios (e integraria o PNP4Nagios, que classificará as notificações para você e fornecerá gráficos de desempenho ao longo do tempo.

Eu me pergunto o quão prático é mover dados entre hosts como este de forma constante e a longo prazo, pois isso desperdiça a largura de banda que de outra forma estaria disponível. Você não seria melhor monitorar o rendimento real do link e correlacioná-lo com a latência e perda de pacotes para descobrir se você está recebendo o que está pagando quando precisa disso? (Eu "dei um tapa" em ISPs que - jogando o jogo mais antigo do livro de ISP - tentaram insistir que o problema não estava em sua rede mais de uma vez usando isso, especialmente ao monitorar vários pontos)

Observo que, embora a latência, a perda de pacotes e o rendimento não sejam totalmente dependentes um do outro, existe (para um link com características conhecidas/contratadas/esperadas) uma correlação entre esses fatores.

Responder2

Você precisa verificar éperfeitofaz o que você precisa.

Com base no meu entendimento de suas perguntas, acho que deveria.

informação relacionada