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:
- O cliente envia a carga útil para o servidor.
- Quando o servidor receber toda a carga útil, ele responderá imediatamente enviando uma carga útil ao cliente.
- 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):
- Ao registrar a
time
execução donc
cliente para o servidor em (1), obterei a largura de banda enviando dados do cliente para o servidor. - Ao registrar a
time
execução donc
servidor para o cliente em (2), obterei a largura de banda enviando dados do servidor para o cliente. - 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.