Programa ou script simples para verificar o tempo de carregamento da página da web [closed]

5

Estou procurando um programa ou script simples, você fornece um URL e faz o seguinte:

  • verifica se pode abrir uma conexão com esse URL e relata por quanto tempo o tempo de resposta é
  • verifica quanto tempo leva para carregar a página e relata esse número

  • informa algum código de erro ou outro número quando um site não está respondendo

  • sai depois: falha ao conectar, carrega a página com êxito ou após um número predeterminado de segundos especificado pelo usuário

Meu objetivo é integrar essa funcionalidade como um programa externo ao Zabbix. Eu fiz uma pesquisa no google, mas não consegui localizar um.

    
por 80skeys 28.07.2011 / 21:06

6 respostas

6

Você pode fazer o que quiser com uma combinação dos comandos time e wget - por exemplo : time wget -q http://www.google.com/

time imprimirá o tempo (em segundos / frações de segundo) que levou para concluir o comando wget , e o código de retorno de toda a confusão será o código de retorno de wget que teria foi (0 = sucesso, diferente de zero indicando várias falhas).

Isso pode ser incluído em um script apropriado para determinar se a página foi recuperada com sucesso e produzir saída adequada para o Zabbix pegar e usar.

    
por 28.07.2011 / 21:17
2

Eu uso o script a seguir, provavelmente com ideias básicas que peguei emprestadas de outro lugar. Ele usa estatísticas de curvas:

estadistica () {
    local site=$1
    echo $site
    echo ${site} | sed -n 's/./-/gp'
    curl -w '
    Lookup time:\t%{time_namelookup} s
    Connect time:\t%{time_connect} s
    Pretransfer time:\t%{time_pretransfer} s
    Starttransfer time:\t%{time_starttransfer} s
    Size download:\t%{size_download} bytes
    Speed download:\t%{speed_download} bytes/s

    Total time:\t%{time_total} s
    ' -o /dev/null -s $site
    echo
    }

for i in ${@}; do
    estadistica $i
done

Digamos que seja chamado webstats; é assim que funciona:

~/src$ bash webstats http://serverfault.com/questions/295194/simple-program-or-script-to-check-load-time-of-web-page http://www.google.com
http://serverfault.com/questions/295194/simple-program-or-script-to-check-load-time-of-web-page
-----------------------------------------------------------------------------------------------

    Lookup time:    0,009 s
    Connect time:   0,139 s
    Pretransfer time:   0,139 s
    Starttransfer time: 0,284 s
    Size download:  37298 bytes
    Speed download: 57153,000 bytes/s

    Total time: 0,653 s

http://www.google.com
---------------------

    Lookup time:    0,084 s
    Connect time:   0,147 s
    Pretransfer time:   0,147 s
    Starttransfer time: 0,218 s
    Size download:  218 bytes
    Speed download: 1000,000 bytes/s

    Total time: 0,218 s

Se algo der errado, você pode saber (e, portanto, dizer ao zabbix) porque os dados resultantes não são lógicos:

~/src$ bash webstats http://thisdoesntexist
http://thisdoesntexist
----------------------

    Lookup time:    0,000 s
    Connect time:   0,000 s
    Pretransfer time:   0,000 s
    Starttransfer time: 0,000 s
    Size download:  0 bytes
    Speed download: 0,000 bytes/s

    Total time: 0,000 s

EDITED: opção de tempo limite do curl:

Só para responder ao seu comentário, o curl tem uma opção de tempo limite; da página man:

   --connect-timeout <seconds>
          Maximum time in seconds that you allow  the  connection  to  the
          server  to  take.   This  only limits the connection phase, once
          curl has connected this option is of no more use. See  also  the
          -m/--max-time option.
    
por 28.07.2011 / 21:24
2
O

link lhe dará mais tempo real, porque carrega todos os recursos de uma página e executa JS. A sintaxe é muito fácil (JavaScript simples)

    
por 15.12.2014 / 18:53
1

Eu uso o curl em vez do wget, pois o wget gera muitos arquivos. Exemplo:

$ curl -o /dev/null -s -w %{time_total}\n  http://google.com
0.084

Em seguida, você deve fazer isso: colocar isso no script externo em ${datadir}/zabbix/externalscripts e chamá-lo com o tipo de item 'verificações externas'

    
por 29.09.2014 / 16:44
0

Isto: link

Como alternativa, seria muito fácil codificar um script simples para fazer isso sozinho e exibir em um formato específico.

    
por 28.07.2011 / 21:13
0

Acho que a opção de rede firebox firefox e a velocidade da página é uma boa opção

    
por 29.07.2011 / 16:04

Tags