Назад в блог

~ 3 минуты

Использование curl для замеров производительности

1095

17.09.2024

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

Вадим Пашаев

Вадим Пашаев

Инженер, веб-разработчик, путешественник

Использование curl для замеров производительности | PXSTUDIO

Как-то раз мне потребовалось очень быстро измерить время загрузки страницы, но мне очень не хотелось устанавливать монструозные инструменты, типа Postman и т.п. Я посмотрел на просторах интернета и оказалось, что измерять время можно и с помощью утилиты curl.

Так вот, для того, чтобы замерить время ответа HTTP-запроса с помощью curl, можно использовать параметр -w (или --write-out). Например, для замера времени ответа можно написать так:

curl -o /dev/null -s -w "Total time: %{time_total}s\n" https://pxstudio.pw

Параметры:

  • -o /dev/null — это указание игнорировать вывод содержимого ответа.
  • -s — работает в "тихом" режиме, убирая прогресс-бар и сообщения об ошибках.
  • -w "Total time: %{time_total}s\n" — выводит общее время выполнения запроса.

Результат:

Результат замера времени загрузки страницы в curl

Помимо этого у утилиты есть еще дополнительные параметры, которые позволяют замерять дополнительные параметры времени. Например:

  • %{time_total} — общее время выполнения запроса.
  • %{time_namelookup} — время, затраченное на разрешение DNS.
  • %{time_connect} — время до установки TCP-соединения.
  • %{time_pretransfer} — время до начала передачи данных.
  • %{time_starttransfer} — время до получения первого байта ответа.

И тогда полный пример с замером всех необходимых метрик будет выглядеть следующим образом:

curl -o /dev/null -s -w "DNS Lookup: %{time_namelookup}s\nConnect: %{time_connect}s\nStart Transfer: %{time_starttransfer}s\nTotal time: %{time_total}s\n" https://example.com

Ну и результат:

Результат замера времени загрузки страницы в curl с дополнительными параметрами

Читать далее

Что такое Next.js и для чего он нужен? | PXSTUDIO
Что такое Next.js и для чего он нужен?

Next.js - это фреймворк, основанный на React, который позволяет создавать веб-приложения с улучшенной производительностью и улучше...

API хуков в React | PXSTUDIO
API хуков в React

Хуки были добавлены в React, начиная с версии 16.8. При переходе от классов к функциональным компонентам хуки позволяют использова...

React Router 6 - Туториал | PXSTUDIO
React Router 6 - Туториал

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

Подписаться на рассылку

Получите интересные новости по веб-разработке и AI

Этот сайт защищен reCAPTCHA, применяются Политика конфиденциальности и Условия использования Google.

Подписаться на рассылку

Получите интересные новости по веб-разработке и AI

Этот сайт защищен reCAPTCHA, применяются Политика конфиденциальности и Условия использования Google.

Расскажите, что нужно сделать

Разберем задачу и предложим следующий шаг

Contact to pxstudio

Сайт, сервис, Telegram-бот, AI-интеграция или оптимизация текущего проекта — опишите ситуацию, а мы подскажем нормальный технический путь.

Этот сайт защищен reCAPTCHA, применяются Политика конфиденциальности и Условия использования Google.

Есть интересная идея?

И вы очень хотите ее реализовать, пишите нам и получите подробное коммерческое предложение и быструю реализацию