Por que meu site fica intermitentemente lento para carregar, aparentemente devido a problemas de DNS?

3

Estou prestes a arrancar meu cabelo neste. Eu tenho um aplicativo de trilhos hospedado no Heroku, usando o Zerigo Free for DNS. O aplicativo está disponível em:

  • smartvark.com (preferido)
  • www.smartvark.com (alguns usuários insistem em digitar www, isso redireciona para remova o www)
  • smartvark.heroku.com (não dado aos usuários, mas talvez útil para comparação na resolução de problemas)

Os usuários estão intermitentemente (1 em 50 ou mais solicitações) tendo tempos de carregamento extremamente longos (~ 2min) e, quando tento fazer a triagem assistindo aos logs do meu servidor, as solicitações não parecem atingir até o final do período de espera . Tempos de carga típicos para o site são rápidos em torno de 200-400ms. Eu estou usando o NewRelic e ele não está indicando nenhum problema de carregamento do servidor, embora ele pegue o problema do usuário final com o seu beacon e os gráficos desta vez como "Rede".

Usando o Firebug e o Chrome devtools, consigo ver a linha do tempo quando isso acontece na minha máquina, e ambos mostram um longo tempo de espera antes de qualquer resposta, que o Firebug classifica como "pesquisa de DNS" e o Chrome não parece classificar . Depois que a primeira resposta acontece, o restante do site carrega muito rápido.

    
por swrobel 29.05.2011 / 21:49

3 respostas

0

Acontece que o problema era que um dos três endereços IP round-robin atribuídos por Heroku era ruim. Eles descobriram isso em resposta ao meu pedido de suporte. Obrigado a todos por suas sugestões de métodos e ferramentas para perseguir isso!

    
por 03.06.2011 / 10:16
3

Suponho que isso acontece porque o seu provedor de DNS (zerigo.net) está publicando registros IPV6 para seus servidores DNS. Seus clientes Windows e MAC estão usando um servidor DNS que possui o IPV6 ativado, mas não possui conectividade IPV6. Isso causa um tempo limite de DNS tentando acessar os servidores DNS via IPV6 antes de retornar ao IPV4. Tentando desativar o IPV6 no resolvedor de DNS e nas máquinas clientes e ver se você obtém melhores resultados.

    
por 29.05.2011 / 22:17
0

Para outros que enfrentam este problema, isso ajudou a explicar:

link

O Heroku não usa uma fila de solicitações globais, portanto, uma única solicitação de execução longa pode fazer backlock de solicitações de execução rápida.

    
por 21.01.2013 / 07:19