Как проверить скорость загрузки сайта в терминале 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:
- Установите Nginx с Ngx_Pagespeed (оптимизация скорости) в Debian и Ubuntu.
- Ускорьте производительность Nginx с помощью Ngx_Pagespeed в CentOS 7
- Узнайте, как ускорить работу веб-сайтов с помощью модуля Nginx и Gzip
- Как повысить скорость Интернета на Linux-сервере с помощью TCP BBR
Вот и все! Теперь вы знаете, как проверить время ответа веб-сайта из командной строки. Вы можете задать вопросы через форму обратной связи ниже.