Простая программа или сценарий для проверки времени загрузки веб-страницы [закрыто]

Я ищу простую программу или скрипт, вы даете ему URL, и он делает следующее:

  • проверяет, может ли он открыть соединение с этим URL, и сообщает, сколько времени время ответа
  • проверяет сколько времени требуется для загрузки страницы и сообщает этот номер

  • сообщает код ошибки или другой номер, когда сайт не отвечает

  • завершается либо после: не удается подключиться, загружает страницу успешно или после заранее определенного числа секунд, указанных пользователем

Моя цель - интегрировать эту функциональность как внешнюю программу в Zabbix. Я выполнил поиск в Google, но не смог его найти.

5
задан 28 July 2011 в 22:06
6 ответов

Можно сделать то, что Вы хотите с комбинацией time и wget команды - например:
time wget -q http://www.google.com/

time распечатает время (в секундах/частях секунды), что оно взяло для завершения wget команда и код возврата целой путаницы будут что wgetкод возврата был бы (0=success, ненулевые указывающие различные отказы).

Это может быть далее перенесено в соответствующий сценарий, чтобы определить, была ли страница успешно получена, и произведите вывод, подходящий, чтобы Zabbix взял и использовал.

6
ответ дан 3 December 2019 в 01:07

Я использую следующий сценарий, вероятно, с основными идеями, которые я одолжил откуда-либо. Это использует вихревую статистику:

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

Позволяет говорят, что это назвало webstats; это - то, как это работает:

~/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

Если что-то идет не так, как надо, можно знать это (и следовательно сказать zabbix), потому что получающиеся данные не логичны:

~/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

ОТРЕДАКТИРОВАННЫЙ: опция тайм-аута завихрения:

Только для ответа на комментарий завихрение имеет опцию тайм-аута; от он - страница справочника:

   --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.
2
ответ дан 3 December 2019 в 01:07

Это: http://tools.pingdom.com/

С другой стороны, было бы действительно легко кодировать простой сценарий, чтобы сделать это самостоятельно и произвести в определенном формате.

0
ответ дан 3 December 2019 в 01:07

Я думаю, сетевая возможность поджигателя Firefox и pagespeed являются хорошим вариантом

firebug network

0
ответ дан 3 December 2019 в 01:07

Úsáidim curl in ionad wget is cúis le wget an iomarca comhad a ghiniúint. Sampla:

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

Ar Aghaidh ba chóir duit a dhéanamh -cuir é seo i script sheachtrach i do $ {datadir} / zabbix / externalscripts agus glaoigh air le cineál seiceála 'seiceálacha seachtracha'

1
ответ дан 3 December 2019 в 01:07

http://phantomjs.org/ предоставит вам больше реального времени, потому что он загружает все ресурсы страницы и выполняет JS. Синтаксис довольно простой (простой JavaScript)

2
ответ дан 3 December 2019 в 01:07

Теги

Похожие вопросы