Bem, porcaria. Parece que eu interpretei mal os logs tcpdump e wireshark. O atraso que recebi foi de 100 microssegundos, não milis!
texto alternativo http://ironicsurrealism.blogivists.com/files/2009/10 /homer-simpson-doh.gif
Estou medindo um tempo de cerca de 100-150 milissegundos do envio de TCP SYN para SYN / ACK, entre dois computadores Linux conectados ao mesmo switch Cisco. Considere:
Então, minhas perguntas são:
Editar - removemos a equação. Os dois computadores agora estão conectados em um cabo cruzado e ainda estamos vendo o problema. Ambos estão em full duplex, 100 MBPS.
Bem, porcaria. Parece que eu interpretei mal os logs tcpdump e wireshark. O atraso que recebi foi de 100 microssegundos, não milis!
texto alternativo http://ironicsurrealism.blogivists.com/files/2009/10 /homer-simpson-doh.gif
Os suspeitos do costume:
Incompatibilidade de duplex
Se você vir colisões, esse final é half duplex e deve ser definido como completo. Se você vir erros, verifique a outra extremidade em busca de colisões. Se ambas as extremidades tiverem erros, você pode ter um cabo defeituoso.
Você verificou o cabeamento? Cabos e / ou pancadas ruins podem resultar em novas tentativas que podem aumentar muito a latência.
Qual modelo de switch da Cisco você está usando? Uma coisa que pode estar acontecendo é se o switch não sabe em qual porta você está o servidor, ele precisará inundar todas as portas com o pacote, o que pode levar algum tempo (não deve levar 100ms). Você pode verificar executando TCP dump em outro servidor que não é um dos dois servidores que você está usando. Quando o servidor responder, ele aprenderá a atribuição do port-mac e fará o encaminhamento em asic. Isso pode ser especialmente predominante nos switches cisco de baixo custo.
Além disso, você tem ACLs por porta? Isso também poderia exigir a comutação da CPU, que seria ordens de magnitude mais lenta do que no ASIC. Você tem o mesmo problema ao executar pings, pois o primeiro ping tem 100 ms de atraso e, em seguida, pings subsequentes são < 1ms? Se for um switch de extremidade inferior e só receber atraso em tcp / ip, eu verifico que não há uma ACL aplicada aos pacotes TCP / IP.
Eu também verifico a opção de carga da CPU, mesmo que seja de baixa utilização; se houver alguma configuração estúpida que esteja fazendo com que ela mude de CPU, ela pode ser facilmente sobrecarregada. Nós sobrecarregamos os switches high-end (backhaul de 10 Gbps) com o tráfego na faixa de 100 Mbps, porque estávamos inadvertidamente enviando tráfego que precisava ser comutado dentro da CPU.
Esta parece ser a latência que você passaria de um lado para o outro dos EUA. O comutador é gerenciado? Você pode se conectar ao switch e verificar se há problemas? Eu esperaria que < 1-2 ms em uma rede local
Na minha experiência, os switches da Cisco devem inserir menos de 1ms na latência, portanto, sim, isso é uma indicação de um problema.
Os dois dispositivos estão conectados ao switch por meio de fios (ou seja, não 802.11)? Na mesma VLAN?
Esta é uma rede confiável? Se os dispositivos e switches estiverem levemente carregados, eu ficaria preocupado que alguém estivesse usando um seqüestro ARP para se inserir no fluxo de tráfego como um homem no meio ...
Se você verificar a tabela ARP nessas caixas (arp -an) e verificar o endereço IP da outra caixa com a saída de ifconfig, os endereços MAC coincidem?
Você menciona que está analisando a saída do tcpdump. Você está comparando os timestamps entre as duas caixas? Em caso afirmativo, tem certeza de que os relógios estão sincronizados?
Você tem acesso a um terceiro host na rede para comparar o desempenho com as outras duas caixas?
Tags networking latency tcp tcpip