Как узнать время отклика сайта из командной строки Linux
Sep 10, 2015 14:54 · 350 words · 2 minute read
Узнать время отклика сайта из командной строки Linux проще всего с помощью curl
— утилиты с открытым исходным кодом, которая позволяет взаимодействовать с серверами по множеству протоколов.
Давайте разберемся с использованием данной весьма полезной утилиты!
Установить утилиту можно с помощью команды:
aptitude install curl
Проверить версию установленной утилиты curl
можно так:
curl --version
Для получения суммарного времени отклика сайта (в секундах) воспользуемся следующей командой:
curl -s -w %{time_total}\\n -o /dev/null https://letsclearitup.com.ua/
Результатом будет:
0.182
Описание используемых параметров:
-s
— не отображать индикатор выполнения или сообщения об ошибках (тихий режим);-w
— что отображать после завершенной и успешной операции;-o
— перенаправление вывода в/dev/null
;time_total
— время выполнения операции (в секундах).
Для получения суммарного времени отклика сайта, а также времени затраченного на lookup
, connect
, pretransfer
, starttransfer
(в секундах) используем следующую команду:
curl -s -w '\nLookup time:\t%{time_namelookup}\nConnect time:\t%{time_connect}\nPreXfer time:\t%{time_pretransfer}\nStartXfer time:\t%{time_starttransfer}\n\nTotal time:\t%{time_total}\n' -o /dev/null https://letsclearitup.com.ua/
Результатом выполнения команды будет:
Lookup time: 0.001
Connect time: 0.012
PreXfer time: 0.012
StartXfer time: 0.088
Total time: 0.101
Здесь используется несколько новых параметров:
time_namelookup
— время, затраченное на преобразование доменного имени в IP-адрес;time_connect
— время, затраченное на подключение к удаленному серверу по TCP;time_pretransfer
— время, затраченное на подготовку к обмену данными (включает в себя «обмен рукопожатиями»);time_starttransfer
— время, затраченное на действия до начала передачи первого байта данных (включает в себяtime_pretransfer
).
В последних версиях утилиты curl
(>7.12) появилась возможность получать время (в секундах), затраченное на appconnect
и redirect
. Для этого выполняем следующую команду:
curl -s -w '\nLookup time:\t%{time_namelookup}\nConnect time:\t%{time_connect}\nAppCon time:\t%{time_appconnect}\nRedirect time:\t%{time_redirect}\nPreXfer time:\t%{time_pretransfer}\nStartXfer time:\t%{time_starttransfer}\n\nTotal time:\t%{time_total}\n' -o /dev/null https://letsclearitup.com.ua/
Результат выполнения команды:
Lookup time: 0.001
Connect time: 0.012
AppCon time: 0.000
Redirect time: 0.000
PreXfer time: 0.012
StartXfer time: 0.089
Total time: 0.102
В данном примере появилось два новых параметра:
time_appconnect
— время до завершения соединения/рукопожатия по протоколу SSL/SSH (доступно с версии 7.19.0);time_redirect
— время, затраченное на редиректы (суммарное время всех редиректов. Доступно с версии 7.12.3).
Примечание. Доверять одному значению, полученному в результате замеров, не совсем правильно. Поэтому лучше несколько раз измерить время отклика сайта из командной строки Linux, например так:
seq 5 | xargs -I@ -n1 curl -s -w %{time_total}\\n -o /dev/null https://letsclearitup.com.ua/