Medindo o "tempo de carregamento em milissegundos" a cada minuto

3

Eu tenho o apache rodando em um servidor virtual, que em períodos dá um desempenho muito ruim - mesmo quando recupero arquivos JPG ou PNG estáticos. Isso só acontece de vez em quando, por isso é difícil documentar para a empresa de hospedagem.

Existe uma boa ferramenta lá fora, que pode facilmente armazenar um "tempo de carregamento em milissegundos" de um arquivo em um servidor web a cada minuto? Talvez até mesmo um shell script one-liner, eu posso rodar em uma sessão de "tela"?

    
por Søren Haagerup 15.08.2011 / 09:11

2 respostas

2

Você pode modificar o formato de log do apache (se ainda não estiver lá), para registrar o tempo que levou para processar uma solicitação:

LogFormat "%h %D %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

É o % D que adiciona o tempo, medido em microssegundos.

Para tornar ainda mais fácil depurar os tempos de carregamento da página, você pode adicionar cabeçalhos HTTP que incluem essa informação (para que você não precise ler o arquivo de log):

Header set X-Request-Received: %t
Header set X-Request-Processing-Time: %D

Lembre-se de ativar os mod_headers primeiro, executando o módulo cabeçalhos

Agora você deve ver esses cabeçalhos na resposta:

X-Request-Received  t=1286995673038485
X-Request-Processing-Time   D=251

(corria minha memória lendo esta página link )

    
por 15.08.2011 / 09:29
0

Pessoalmente, gosto da resposta do Coops, mas se você quiser uma verificação independente do tempo de carregamento (ou seja, quanto tempo levei para obter todos os dados da página do servidor , em vez de quanto tempo o servidor achou necessário para atender a todos os dados da página ), essa resposta pode ser útil.

Se você já usa NAGIOS ou ICINGA , o plug-in check_http pode avaliar os tempos de carregamento e passar por WARNING ou CRITICAL se eles excederem determinados limites. Não tenho certeza se colocaria qualquer um deles apenas para isso, mas se você já estiver usando um, o plugin é ideal para o monitoramento qualitativo ( com que frequência essa página demorava para ser carregada? ).

Se você preferir dados quantitativos ( quanto tempo essa página demora para carregar? ) e está executando munin , o plug-in check_http_requisites acompanhará isso.

Muitos outros sistemas de monitoramento terão, sem dúvida, funcionalidade semelhante; com o que você está fazendo seu monitoramento interno no momento?

E se a resposta acima for "nada", peço perdão se eu for à casa de sabão por um momento: agora é a hora de colocar uma solução de monitoramento adequada. Eu sei que é tentador aparecer em apenas mais uma script de linha, mas eles crescem rapidamente para ser inatingível. Considerando que uma vez que você é colocado em uma solução de monitoramento boa, gratuita e baseada em plugins, de repente você descobre todos os tipos de outras coisas que seria realmente útil monitorar, e você não precisa reinventar os dados coleta de dados, coleta de dados, exibição de dados e infra-estrutura de notificação de erros a cada vez.

    
por 15.08.2011 / 10:09