Ping com atraso longo mas curto tempo relatado

5

O que significa quando um ping reporta um tempo razoável (~ 10ms), mas na verdade leva bastante tempo na parede (~ 15 segundos )? (Além disso, passar a opção -U para "latência total de usuário para usuário" não tem efeito.)

Isso acontece ao pingar um determinado host externo do meu computador de trabalho - e estou pesquisando porque também recebo timeouts em solicitações HTTP para o mesmo host. Algo semelhante acontece com o traceroute, apenas nos últimos dois saltos, que alcançam a sub-rede do destino.

(Além disso, pelo que vale a pena, o host externo é cdn.sstatic.net, que eu sei que geralmente funciona!)

    
por Cascabel 07.07.2011 / 18:31

2 respostas

5

O que acontece se você usar o sinalizador -n para inibir a pesquisa de "nomes simbólicos para endereços de host"? O tipo de comportamento que você está descrevendo geralmente sugere atrasos devido a pesquisas de DNS reversas lentas.

Para o exemplo que você deu (cdn.sstatic.net), vejo que não há entrada reversa válida que corresponda à entrada direta (estou vendo 69.174.57.102). Esse é exatamente o tipo de situação que pode levar a um comportamento estranho se você estiver usando ferramentas que tentam fazer pesquisas inversas.

    
por 07.07.2011 / 22:48
4

Sim, isso é provavelmente DNS.

2 maneiras de determinar. strace -r ping ... é bom.

 0.000014 fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0
 0.000015 poll([{fd=4, events=POLLOUT}], 1, 0) = 1 ([{fd=4, revents=POLLOUT}])
 0.000020 sendto(4, "51
 0.000014 fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0
 0.000015 poll([{fd=4, events=POLLOUT}], 1, 0) = 1 ([{fd=4, revents=POLLOUT}])
 0.000020 sendto(4, "51%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%intel-01scinterane"..., 47, MSG_NOSIGNAL, NULL, 0) = 47
 0.000022 poll([{fd=4, events=POLLIN}], 1, 5000) = 0 (Timeout)
 4.999871 socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 5
%pre%%pre%%pre%%pre%%pre%%pre%%pre%intel-01scinterane"..., 47, MSG_NOSIGNAL, NULL, 0) = 47 0.000022 poll([{fd=4, events=POLLIN}], 1, 5000) = 0 (Timeout) 4.999871 socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 5

Veja o segundo atraso de 4.999 na pesquisa de DNS.

Ou você pode simplesmente fazer o ping de um nome de host e fazer o ping do endereço IP se o ping do nome do host for consistentemente e substancialmente mais lento do que fazer ping no endereço IP diretamente da diferença entre.

    
por 29.10.2012 / 21:27

Tags