Espero encontrar uma ferramenta Linux existente para medir a latência:
Estou tentando diagnosticar a latência que meu sistema operacional e placa NIC estão adicionando à latência do TCP no Linux. Eu olhei para as seguintes ferramentas, mas todas (pelo menos no nível da superfície) mediram a largura de banda (Mbps / seg) em vez da latência (nanossegundos para a transmissão de 1 pacote de tamanho x).
nttcp
nuttcp
netperf
iperf
Se eu fosse escrever um teste personalizado, provavelmente faria o seguinte:
Cliente:
- Crie uma mensagem falsa com o comprimento especificado com algum preenchimento para
um identificador incremental. Abra uma conexão TCP (com o direito de
parâmetros como TCP_NODELAY, etc)
- Faz um loop e envia mensagens contendo um identificador incremental. Armazene a hora atual do sistema (em nanos) associada ao identificador.
- Ouça as respostas, registre a hora atual e registre a latência desse identificador de forma assíncrona
Servidor
- Ouça uma conexão
- Repetir qualquer mensagem recebida
Supondo que ambas as caixas tinham a mesma configuração (configurações, placas, SO, CPU, etc), estão relativamente próximas umas das outras na rede, e uma pessoa conhece aproximadamente a contribuição de latência da rede, pode obter uma estimativa aproximada do sistema operacional + Contribuição da NIC e começar a testar várias configurações.
Também é possível obter uma imagem mais precisa da latência usando um sniffer de rede e snooping nas linhas entre os dois hosts, calculando a latência entre os dois lados para um ID e subtraindo-o da latência medida internamente.
Então, alguém conhece uma ferramenta ou até mesmo algum código clichê para testar esse tipo de coisa?