Можно попробовать wget
с -p
опция:
wget -p http://site.com
Это скажет Вам, сколько времени это берет для загрузки каждого элемента и кодов возврата для каждого запроса.
Посмотрите Сравнительный тест Apache:
Это должно дать Вам обзор производительности Вашей страницы.
Можно хотеть посмотреть на следующие опции curl
:
--write-out
- дисплеи любая из нескольких связанных со временем переменных--trace-time
- Предварительно ожидает метку времени к каждой трассировке или подробной строке--verbose
--include
- (HTTP) Включает HTTP-заголовок в вывод.--trace-ascii <file>
- Включает полный дамп трассировки всего поступления и исходящих данных, включая описательную информациюИ следующая опция wget
:
--timestamping
- Включите добавление метки времениСелен и Завихрение являются хорошими вариантами в зависимости от того, какова Ваша цель. Кроме того, утилита, что я приехал для симпатии вполне немного, twill
. Больше информации доступно по http://twill.idyll.org/.
Это хорошо, поскольку это имеет свой собственный небольшой специализированный язык для того, чтобы заполнить формы, проверяя ссылки, и проверяя коды ответа. Так как это - просто код Python, можно легко импортировать библиотеки и автоматизировать тесты сами, если требуется сделать что-то другое.
Используйте завихрение для получения заголовка для страницы, и время процесса:
time curl -I http://yourpage.com | grep HTTP
перенесите это в некоторое время цикл, и Вы хороши для движения. Тем же путем можно проверить на все элементы, если Вы знаете URL.
Я думаю для выполнения теста производительности, можно попробовать JMeter. Можно записать тест с помощью созданного в прокси. Это также работает в текстовом режиме, локальном или распределенном. Можно сохранить результаты в csv или xml формате. При использовании xml формата можно также сохранить содержание страницы.
Для проверки заголовков мне нравится httpie
( docs ).
pip install httpie --user
$ http -h http://serverfault.com/q/124952/113899
HTTP/1.1 302 Found
Accept-Ranges: bytes
Age: 0
Cache-Control: private
Connection: keep-alive
Content-Length: 198
Content-Type: text/html; charset=utf-8
Date: Fri, 06 Jan 2017 10:01:06 GMT
Location: http://serverfault.com/questions/124952/testing-a-website-from-linux-command-line
Set-Cookie: prov=392298d9-103e-7dfc-5b55-8738be46cf3b; domain=.serverfault.com; expires=Fri, 01-Jan-2055 00:00:00 GMT; path=/; HttpOnly
Via: 1.1 varnish
X-Cache: MISS
X-Cache-Hits: 0
X-DNS-Prefetch-Control: off
X-Frame-Options: SAMEORIGIN
X-Request-Guid: 07a25de4-6e16-4aa8-acfc-12b1bbbc6180
X-Served-By: cache-hhn1543-HHN
X-Timer: S1483696865.976259,VS0,VE187
Какой инструмент вы выберете, зависит от того, что вы хотите измерить, и от сложности сайта.
Если поведение сайта зависит от файлов cookie (например, пользователю необходимо войти в систему), тогда ab / curl / wget (описано в другие ответы) не хватит. Одно из решений - использовать http :: Recorder / www :: Mechanize .
Все запрашиваемые данные находятся в журналах вашего веб-сервера, и простой сценарий awk вернет их в более удобочитаемой форме. .
измерить время, необходимое для загрузки различных элементов сайта.
Это очень плохой показатель производительности (хотя он полезен для мониторинга работоспособности производственной системы). За исключением больших / медленных ресурсов, таких как объемные отчеты, ISO-изображения, мультимедийные файлы, восприятие производительности очень мало связано со временем, затрачиваемым на обработку одного запроса, и его действительно сложно измерить точно (просто добавив% D в ваш журнал apache, похоже, решает проблему, но игнорирует квитирование TCP, согласование SSL, эффекты кеширования, время поиска DNS).
Лучшее решение - использовать что-то вроде Boomerang , но это выполняется Браузер с поддержкой Javascript. Хотя это дает лучший индикатор воспринимаемой производительности, чем отслеживание отдельных HTTP-запросов, он полагается на события браузера для получения значения производительности, но ожидаемая производительность - это время, затрачиваемое на визуализацию области просмотра (опять же, для этого есть инструменты - взгляните на инструменты киноленты в WebPageTest ).
Существует также аргумент об измерении производительности, фактически предоставляемой пользователям сайта (RUM), по сравнению с синтетическим тестированием.