No momento, estamos tentando decidir se movemos nosso datacenter da costa oeste para a costa leste.
No entanto, estou vendo alguns números de latência perturbadores do meu local da costa oeste até a costa leste. Aqui está um exemplo de resultado, recuperando um pequeno arquivo de logotipo .png no Google Chrome e usando as ferramentas de desenvolvimento para ver quanto tempo a solicitação leva:
- Costa oeste para costa leste:
latência de 215 ms, tempo de transferência de 46 ms, total de 261 ms - Costa oeste a costa oeste:
latência de 114 ms, tempo de transferência de 41 ms, total de 155 ms
Faz sentido que Corvallis, OR esteja geograficamente mais próximo da minha localização em Berkeley, CA, por isso espero que a conexão seja um pouco mais rápida. servidor. Isso parece .. excessivo para mim. Especialmente porque o tempo gasto na transferência dos dados reais aumentou apenas 10%, mas a latência aumentou 100%!
Isso parece ... errado ... para mim.
Encontrei aqui alguns links que foram úteis (pelo Google, não menos!) ...
- A distância de roteamento afeta significativamente o desempenho?
- Como a geografia afeta a latência da rede?
- Latência nas conexões da Internet da Europa para os EUA
... mas nada autoritário.
Então, isso é normal? Não parece normal. Qual é a latência "típica" que devo esperar ao mover pacotes de rede da costa leste <--> costa oeste dos EUA?
fonte
Respostas:
Velocidade da Luz:
Você não vai superar a velocidade da luz como um ponto acadêmico interessante. Este link funciona de Stanford a Boston no ~ 40ms no melhor tempo possível. Quando essa pessoa fez o cálculo, ele decidiu que a Internet opera aproximadamente "dentro de um fator de duas vezes a velocidade da luz"; portanto, há cerca de ~ 85ms de tempo de transferência.
Tamanho da janela TCP:
Se você estiver com problemas na velocidade de transferência, talvez seja necessário aumentar o tamanho do TCP da janela de recebimento. Também pode ser necessário ativar o dimensionamento da janela se for uma conexão de alta largura de banda e alta latência (chamada de "Long Fat Pipe"). Portanto, se você estiver transferindo um arquivo grande, precisará de uma janela de recebimento grande o suficiente para encher o tubo sem ter que esperar pelas atualizações da janela. Entrei em alguns detalhes sobre como calcular isso na minha resposta Tuning an Elephant .
Geografia e latência:
um ponto de falha de algumas CDNs (redes de distribuição de conteúdo) é que elas equivalem a latência e geografia. O Google fez muitas pesquisas com sua rede e encontrou falhas nisso; eles publicaram os resultados no white paper Indo além das informações de caminho de ponta a ponta para otimizar o desempenho da CDN :
Pares de BGP:
Além disso, se você começar a estudar o BGP (protocolo principal de roteamento da Internet) e como os ISPs escolhem pares, você encontrará muitas vezes mais sobre finanças e política; portanto, nem sempre você pode obter o melhor caminho para determinadas localizações geográficas, dependendo no seu ISP. Você pode ver como o seu IP está conectado a outros ISPs (Sistemas Autônomos) usando um roteador de espelho . Você também pode usar um serviço whois especial :
Também é divertido explorá-los como pares com uma ferramenta de interface gráfica como o linkrank , que fornece uma imagem da Internet ao seu redor.
fonte
Este site sugere que uma latência de 70 a 80ms entre a costa leste / oeste dos EUA é típica (de São Francisco a Nova York, por exemplo).
Aqui estão meus horários (estou em Londres, Inglaterra, então meus tempos na costa oeste são mais altos que o leste). Recebo uma diferença de latência de 74ms, que parece suportar o valor desse site.
Eles foram medidos usando as ferramentas de desenvolvimento do Google Chrome.
fonte
71 ms
nele, então você está certo - não podemos esperar fazer melhor do que isso.Meça primeiro com o ICMP, se possível. Os testes ICMP normalmente usam uma carga útil muito pequena por padrão, não usam um handshake de três vias e não precisam interagir com outro aplicativo na pilha como o HTTP. Seja qual for o caso, é da maior importância que os resultados HTTP não se misturem aos resultados do ICMP. São maçãs e laranjas.
Seguindo a resposta de Rich Adams e usando o site que ele recomendou, você pode ver que no backbone da AT&T, são necessários 72 ms para o tráfego ICMP se mover entre os pontos de extremidade de SF e NY. Esse é um número razoável, mas você deve ter em mente que esta é uma rede totalmente controlada pela AT&T. Não leva em consideração a transição para sua rede doméstica ou do escritório.
Se você executar um ping no careers.stackoverflow.com da sua rede de origem, verá algo não muito distante de 72 ms (talvez +/- 20 ms). Se for esse o caso, provavelmente você pode supor que o caminho de rede entre vocês dois está bom e funcionando dentro dos intervalos normais. Caso contrário, não entre em pânico e meça de alguns outros lugares. Pode ser o seu ISP.
Supondo que isso foi aprovado, sua próxima etapa é abordar a camada de aplicativo e determinar se há algo errado com a sobrecarga adicional que você está vendo com suas solicitações HTTP. Isso pode variar de aplicativo para aplicativo devido ao hardware, SO e pilha de aplicativos, mas como você tem equipamentos praticamente idênticos nas costas leste e oeste, você pode fazer com que os usuários da costa leste atinjam os servidores da costa oeste e os usuários da costa oeste atinjam o leste costa. Se os dois sites estiverem configurados corretamente, esperaria que todos os números fossem menos iguais e, portanto, demonstrasse que o que você está vendo é praticamente o mesmo para os grosseiros.
Se esses tempos de HTTP tiverem uma grande variação, não ficaria surpreso se houvesse um problema de configuração no site com desempenho mais lento.
Agora, quando você estiver nesse ponto, poderá tentar uma otimização mais agressiva no lado do aplicativo para ver se esses números podem ser reduzidos. Por exemplo, se você estiver usando o IIS 7, está aproveitando seus recursos de cache, etc.? Talvez você possa ganhar algo lá, talvez não. Quando se trata de ajustar itens de baixo nível, como janelas TCP, sou muito cético quanto ao impacto de algo como Stack Overflow. Mas ei - você não saberá até experimentar e medir.
fonte
Várias das respostas aqui estão usando ping e traceroute para suas explicações. Essas ferramentas têm seu lugar, mas não são confiáveis para a medição do desempenho da rede.
Em particular, (pelo menos alguns) os roteadores Juniper enviam o processamento de eventos ICMP para o plano de controle do roteador. Isso é MUITO mais lento que o plano de encaminhamento, especialmente em um roteador de backbone.
Há outras circunstâncias em que a resposta do ICMP pode ser muito mais lenta que o desempenho real de encaminhamento de um roteador. Por exemplo, imagine um roteador com todos os softwares (sem hardware de encaminhamento especializado) com 99% da capacidade da CPU, mas ainda assim movendo bem o tráfego. Deseja gastar muitos ciclos processando respostas de traceroute ou encaminhando tráfego? Portanto, processar a resposta é uma prioridade super baixa.
Como resultado, o ping / traceroute oferece limites superiores razoáveis - as coisas estão indo pelo menos tão rapidamente - mas eles realmente não informam a velocidade do tráfego real.
Em qualquer evento -
Aqui está um exemplo de traceroute da Universidade de Michigan (EUA central) até Stanford (costa oeste dos EUA). (Ele passa por Washington, DC (costa leste dos EUA), que fica a 800 quilômetros na direção "errada".)
Observe, em particular, a diferença horária entre os resultados do traceroute do roteador de lavagem e do roteador atla (saltos 7 e 8). o caminho da rede vai primeiro para lavar e depois para o atla. lavagem leva 50-100ms para responder, atla leva cerca de 28ms. Claramente o atla está mais distante, mas seus resultados no traceroute sugerem que está mais próximo.
Consulte http://www.internet2.edu/performance/ para obter muitas informações sobre medição de rede. (aviso legal, eu costumava trabalhar para internet2). Veja também: https://fasterdata.es.net/
Para adicionar alguma relevância específica à pergunta original ... Como você pode ver, eu tive um tempo de ping de 83 ms em ida e volta para Stanford, então sabemos que a rede pode ir pelo menos tão rápido.
Observe que o caminho da rede de pesquisa e educação que eu tomei nesse traceroute provavelmente será mais rápido do que o caminho da Internet para commodities. As redes de pesquisa e desenvolvimento geralmente superprovisionam suas conexões, o que torna improvável o buffer em cada roteador. Observe também o longo caminho físico, mais longo que costa a costa, embora claramente representativo do tráfego real.
michigan-> washington, dc-> atlanta-> houston-> los angeles-> stanford
fonte
Estou vendo diferenças consistentes e estou sentado na Noruega:
Isso foi medido com o método científico preciso e comprovado de usar a visualização de recursos do Google Chrome e atualizar repetidamente cada link.
Traceroute para serverfault
Traceroute para carreiras
Infelizmente, agora ele começa a entrar em loop ou não, e continua dando estrelas e tempo limite até 30 saltos e depois termina.
Observe que os traceroutes são de um host diferente dos horários no início; tive que fazer RDP no meu servidor hospedado para executá-los
fonte
Vejo aproximadamente 80-90ms de latência em ligações bem geridas e bem medidas entre as costas leste e oeste.
Seria interessante ver onde você está obtendo latência - tente uma ferramenta como o traceroute da camada quatro (lft). As chances são muitas delas obtidas na "última milha" (ou seja, no seu provedor de banda larga local).
É de se esperar que o tempo de transferência tenha sido impactado apenas levemente - perda de pacotes e instabilidade são medidas mais úteis quando se investigar diferenças de tempo de transferência entre dois locais.
fonte
Só por diversão, quando joguei o jogo on-line Lineage 2 NA na Europa:
A diferença parece confirmar que até 100ms está dentro do razoável, considerando a natureza imprevisível da Internet.
Usando o aclamado teste de atualização do Chrome, recebo um tempo de carregamento de documentos que varia aproximadamente 130ms.
fonte
todo mundo aqui tem algum ponto realmente bom. e estão corretos em seu próprio ponto de vista.
E tudo se resume a que não há uma resposta exata exata aqui, porque existem tantas variáveis que qualquer resposta dada sempre pode ser provada errada apenas mudando uma das cem variáveis.
Assim como a latência de 72 ms de NY para SF, é a latência de PoP para PoP de uma portadora de um pacote. Isso não leva em consideração nenhum dos outros pontos importantes apontados aqui sobre congestionamento, perda de pacotes, qualidade de serviço, pacotes fora de ordem ou tamanho de pacote ou redirecionamento de rede apenas entre o mundo perfeito de PoP para PoP .
E então, quando você adiciona a última milha (geralmente muitas milhas) do PoP à sua localização real nas duas cidades onde todas essas variáveis se tornam muito mais fluidas, começam a aumentar exponencialmente a capacidade de adivinhação razoável!
Como exemplo, realizei um teste entre a cidade de NY e a SF no decorrer de um dia útil. Fiz isso em um dia, caso não houvesse "incidentes" importantes em todo o mundo que causassem um aumento no tráfego. Então talvez isso não tenha sido mediano no mundo de hoje! Mas, no entanto, foi o meu teste. Na verdade, eu medi de um local comercial para outro durante esse período e durante o horário comercial normal de cada costa.
Ao mesmo tempo, monitorei os números dos provedores de circuitos na web.
Os resultados foram números de latência entre 88 e 100 ms de porta em porta nos locais de negócios. Isso não inclui nenhum número de latência da rede entre escritórios.
A latência das redes do provedor de serviços variou entre 70 e 80 ms. Significando que a latência da última milha poderia ter variado entre 18 e 30 ms. Não correlacionei os altos e baixos exatos entre os dois ambientes.
fonte
Horários de Nova York:
Usando o Chrome, em uma conexão residencial.
Usando o lft de um VPS em um datacenter em Newark, Nova Jersey:
fonte