quinta-feira, 8 de fevereiro de 2007

Testando o tempo de resposta de páginas web

Frequentemente nos deparamos com um problema de lentidão onde é preciso saber onde esta o problema. Resolução de DNS? Tempo de resposta da rede? Tempo de resposta da aplicação?

Uma excelente ferramenta para realizar testes e descobrir onde está o problema é o curl. Ele consegue nos retornar o tempo gasto em cada uma dos seguintes processos: Tempo de resolução de nomes; tempo de conexão tcp (handshake); tempo total de resposta da página (soma dos demais tempo e aplicação).

Abaixo segue um exemplo de utilização do mesmo:

curl -w "NameLookup: %{time_namelookup}\\nTimeConnect: %{time_connect}\\nTimeTotal %{time_total}\\n" -s http://www.google.com.br -o /dev/null


Este comando deve retornar essa resposta:

NameLookup: 0.002
TimeConnect: 0.152
TimeTotal 0.309

Se preciso, pode-se gerar uma lista com os tempos de resposta para ser colocado em uma planilha ou gráfico:
while true;
do
curl -w %{time_namelookup}-%{time_connect}-%{time_total}\\n -s http://www.teste-site.com.br -o /dev/null >> teste_site.txt;
sleep 1;
done

Um comentário:

Anônimo disse...

Muito útil!
Parabéns pela dica.