Как узнать время отклика сайта из командной строки 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/