Detectar o que causa o atraso entre a inserção de um nome de domínio e o carregamento da página

3

Meu site leva muito tempo depois de inserir o nome do domínio e antes que o conteúdo comece a aparecer.
Eu suponho que isso é algo a ver com a resolução do DNS ou as redes.
Como faço para solucionar esse problema? Por onde eu começo e quais ferramentas eu preciso? Eu sei que precisarei de nslookup e traceroute. O que mais eu preciso?

    
por Quintin Par 13.05.2010 / 11:02

5 respostas

5

Primeiro, obtenha uma visão geral do que está acontecendo quando a página é carregada com a ajuda do Extensão Firebug para o Forefox. Mostrarei a quantidade exata de tempo que cada componente da página da Web leva para carregar. Isso lhe dará a primeira pista sobre o que exatamente você deve investigar.

Se for realmente um problema de DNS, uma das ferramentas mais poderosas para depurar o DNS é dig . Com a opção +trace , ele mostrará todas as etapas intermediárias necessárias para procurar um domínio, com tempos de pesquisa para cada etapa.

Se for um problema estabelecer uma conexão TCP com o site, primeiro você pode tentar apenas ping it. Se o tempo de ida e volta é grande, você pode tentar tcptraceroute na porta 80 que usa pacotes TCP em vez de UDP (ou ICMP) como o traceroute padrão para ver onde os pacotes são atrasados. Usando o TCP reproduziria mais fielmente o tratamento que seus pacotes obtêm em redes intermediárias, alguns provedores podem restringir o tráfego UDP (e filtrar completamente o ICMP - ou dar a ele alta prioridade, e então você não vê que o TCP é mais lento). p>

Se o tempo de resolução do DNS for curto e o RTT também para o servidor, pode haver problemas de capacidade ...

    
por 13.05.2010 / 12:07
1

Você precisa analisar o tempo de diferentes pacotes de rede entre seu computador, servidor DNS e host (es). Se estiver usando um servidor proxy, você precisa verificar esse tráfego.

Uma ferramenta muito boa para isso é o Wireshark.

Compare o tempo entre a pesquisa de DNS, a resposta, a solicitação do servidor da web (HTTP) e a resposta do servidor da web. Uma página da Web típica terá muitas partes individuais, cada uma das quais é uma solicitação do seu computador e uma resposta do servidor. Verifique a mesma página de outro computador / rede para ver as diferenças. Lembre-se de limpar seus caches de DNS e navegador antes de testar.

    
por 13.05.2010 / 11:13
1

Antes de investigar redes e sniffing de pacotes e tudo mais, verifique se não é específico do navegador, instale uma nova cópia do Chrome e veja como funciona. Em seguida, verifique se não é específico da máquina, tente em outras máquinas na mesma rede. Então, certifique-se de que não é específico da rede, experimente em um wi-fi cafe ou na casa de um amigo.

Se ainda for lento, o Prof Moriarty e o Willam terão ótimos lugares para se aprofundarem. É uma página grande com uma longa TABELA? Plug-in? IFRAMES Muita javascript?

    
por 13.05.2010 / 12:49
1

Por favor, diga-nos o nome do domínio, então podemos testar a velocidade do DNS autoritativo. Existem dois fatores aqui:

  1. localização geográfica do servidor DNS, o que afeta a latência da rede
  2. tempo de resposta do servidor

A maioria dos servidores autoritários deve ser capaz de responder em alguns milissegundos, portanto, em muitos casos, a latência da rede será mais importante do que a capacidade do servidor DNS.

Se o próprio servidor DNS estiver bem conectado, então não será apenas a rapidez com que o servidor web está, mas também o layout da página.

Alguns métodos de layout (tabelas específicas, ISTR) causam dificuldades aos navegadores porque impedem que o navegador renderize a página até que a maior parte do conteúdo tenha sido baixada.

@ A sugestão de Moriarty sobre a extensão do Firebug é boa para ver as solicitações de DNS e HTTP, mas não acredito que isso resolva o possível problema do mau layout de página.

    
por 13.05.2010 / 13:06
0

De fato, o que faz você pensar que está relacionado ao DNS?
Você deve responder a si mesmo as seguintes perguntas:
- Qual é o desempenho do hardware? Você tem gargalos de hardware (ou seja, desempenho ruim do hdd)?
- A configuração do seu apache é ideal? Veja clientes máximos, solicitações por criança, mantenha-se vivo.
- É o php / etc. código otimizado?

Teste sua configuração do apache usando ab.
Assista a utilização de hardware (cpu, hdd).
Se for o caso, use balanceadores de carga (HAproxy) e use vários servidores da Web.

    
por 28.05.2010 / 12:48