Поиск по сайту:

Как проверить скорость загрузки сайта в терминале Linux


Время ответа веб-сайта может иметь большое влияние на взаимодействие с пользователем, и если вы веб-разработчик или просто администратор сервера, который несет особую ответственность за организацию частей вместе, то вы должны сделать так, чтобы пользователи не чувствовали этого. разочарован при доступе к вашему сайту – значит, действительно существует «потребность в скорости».

Читайте также: httpstat – инструмент статистики Curl для проверки производительности веб-сайта

Это руководство покажет вам, как проверить время ответа веб-сайта из командной строки Linux. Здесь мы покажем, как проверить время в секундах, это занимает:

  • для выполнения разрешения имен.
  • для TCP-соединения с сервером.
  • чтобы началась передача файлов.
  • для первого передаваемого байта.
  • для полной операции.

Кроме того, для сайтов с поддержкой HTTPS мы также увидим, как проверить время в секундах, необходимое для завершения перенаправления и SSL-соединения/квитирования с сервером. Звучит неплохо, да, ладно, давайте начнем.

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

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

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

Итак, откройте терминал и выполните команду ниже:

curl -s -w 'Testing 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 – время в секундах, которое прошло от начала до завершения разрешения имени.
  • 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

И последнее, но не менее важное: если ваши результаты неудовлетворительны, вам нужно внести некоторые изменения на своем сервере или в коде. Вы можете рассмотреть возможность использования следующих руководств, в которых объясняются программы и советы по ускорению загрузки веб-сайтов в Linux:

  1. Установите Nginx с Ngx_Pagespeed (оптимизация скорости) в Debian и Ubuntu.
  2. Ускорьте производительность Nginx с помощью Ngx_Pagespeed в CentOS 7
  3. Узнайте, как ускорить работу веб-сайтов с помощью модуля Nginx и Gzip
  4. Как повысить скорость Интернета на Linux-сервере с помощью TCP BBR

Вот и все! Теперь вы знаете, как проверить время ответа веб-сайта из командной строки. Вы можете задать вопросы через форму обратной связи ниже.