Сб. Дек 5th, 2020
web-logo

Сегодня разберем, как можно узнать время отклика веб-сайта из командной строки Linux.

После прочтения материала, Вы научитесь определять переменные и тайминги:

  • выполнение разрешения имени в dns;
  • ТCP соединение с сервером;
  • начало передачи файла;
  • передача первого байта;
  • полная загрузка страницы.

Для тестирования воспользуемся программой cURL.

cURL — кроссплатформенная служебная программа командной строки, позволяющая взаимодействовать с множеством различных серверов по множеству различных протоколов таких, как FILE, FTP, FTPS, HTTP, HTTPS и многих других.

cURL имеет полезную опцию: -w для вывода информации на стандартный вывод после завершенной операции. У него есть некоторые переменные, которые мы можем использовать, чтобы протестировать различные тайминги сайта, перечисленные выше.

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

Так что откройте свой терминал и выполните команду ниже:

curl -s -w '\nTesting Website Response Time for :%{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null http://www.google.com
  • time_namelookup — время в секундах, которое прошло с начала до завершения определения ip-адреса по имени.
  • time_connect — время в секундах, которое прошло с начала до завершения соединения TCP с удаленным хостом (или прокси).
  • time_pretransfer — время в секундах, которое прошло с начала до начала передачи файла.
  • time_starttransfer — время в секундах, прошедшее с начала до момента, когда первый байт должен был быть передан.
  • time_total — общее время в секундах, в течение которого выполнялась полная операция (разрешение в миллисекундах).

Если формат слишком длинный, вы можете записать его в файл и использовать следующий синтаксис:

curl -s -w "@format.txt" -o /dev/null http://www.google.com

-s — указывает curl работать молча.
-w — вывести информацию на стандартный вывод.
-o — используется для перенаправления вывода (здесь мы отбрасываем вывод, перенаправляя его в /dev/null).

Для сайтов HTTPS вы можете запустить команду ниже:

$ curl -s -w 'Testing Website Response Time for :%{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nAppCon Time:\t\t%{time_appconnect}\nRedirect Time:\t\t%{time_redirect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null https://www.google.com
  • time_appconnect — время в секундах, которое прошло с начала до завершения SSL-соединения/рукопожатия с удаленным хостом.
  • time_redirect — время в секундах, которое потребовалось для всех шагов перенаправления, включая поиск имени, подключение, предварительный перенос и передачу до запуска последней транзакции; он вычисляет полное время выполнения для нескольких перенаправлений.

Важные моменты, которые следует отметить:

  • Вы заметите, что значения времени отклика продолжают изменяться (из-за нескольких факторов) при выполнении разных тестов, поэтому рекомендуется собрать несколько значений и получить среднюю скорость.
  • Во-вторых, из результатов приведенных выше команд видно, что доступ к веб-сайту через HTTP намного быстрее, чем через HTTPS.

Для получения дополнительной информации см. справочную страницу cURL:

man curl
0 0 голос
Article Rating
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x
Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов cookie) с использованием трекеров "Google Analytics" и "Yandex.Metrics". Порядок обработки Ваших персональных данных, а также реализуемые требования к их защите, содержатся в Политике конфиденциальности.
Принять