~ 3 минуты
Использование curl для замеров производительности
31
9/17/2024
Веб-сайты и онлайн-сервисы нуждаются в стабильной и быстрой работе, и измерение времени отклика является важным шагом в мониторинге их производительности. В этой статье мы рассмотрим, как с помощью инструмента curl можно замерить время ответа сервера, включая такие этапы, как DNS-разрешение, установка соединения и время передачи данных.
Как-то раз мне потребовалось очень быстро измерить время загрузки страницы, но мне очень не хотелось устанавливать монструозные инструменты, типа 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" — выводит общее время выполнения запроса.
Результат:
Помимо этого у утилиты есть еще дополнительные параметры, которые позволяют замерять дополнительные параметры времени. Например:
- %{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
Ну и результат:
Взгляните на наш стартап:
Выбирай экскурсии и активности по всему миру
Уже зарегистрировано 0 стран, 0 направлений, 0 экскурсий
Есть интересная идея?
И вы очень хотите ее реализовать, пишите нам и получите подробное коммерческое предложение и быструю реализацию