Тестирование веб-сайта из командной строки Linux [закрыто]

Я ищу инструмент для тестирования веб-сайта из командной строки Linux.

Из выходных данных мне нужно знать HTTP-ответ (коды состояния), а также сравнить время, необходимое для загрузки различных элементов сайта.

Заранее благодарю.

29
задан 22 March 2010 в 16:12
10 ответов

Можно попробовать wget с -p опция:

wget -p http://site.com

Это скажет Вам, сколько времени это берет для загрузки каждого элемента и кодов возврата для каждого запроса.

35
ответ дан 28 November 2019 в 20:00

Посмотрите Сравнительный тест Apache:

Сравнительный тест Apache

Это должно дать Вам обзор производительности Вашей страницы.

9
ответ дан 28 November 2019 в 20:00
  • 1
    Apache benckmark не может быть использованием для этого, так как это - внешний источник, на самом деле это - плей-лист видео YouTube. Мы контролируем доступ к этому ресурсу. TY –  Embreau 22 March 2010 в 16:42
  • 2
    Я don' t видят почему Вы can' t используют ab; как wget в следующем ответе, это будет работать, пока URL Вашего сайта доступен от машины где you' ре, выполняющее инструмент сравнительного тестирования. –  gareth_bowles 22 March 2010 в 16:46
  • 3
    Сравнительный тест Apache не ограничивается локальными ресурсами, it' s означал быть полным измерительным инструментом производительности (включая сетевую задержку, i/o, и т.д.). –  andre 22 March 2010 в 16:52
  • 4
    Хороший для знания я оценю эту опцию, спасибо. –  Embreau 22 March 2010 в 18:31

Можно хотеть посмотреть на следующие опции curl:

  • --write-out - дисплеи любая из нескольких связанных со временем переменных
  • --trace-time - Предварительно ожидает метку времени к каждой трассировке или подробной строке
  • --verbose
  • --include - (HTTP) Включает HTTP-заголовок в вывод.
  • --trace-ascii <file> - Включает полный дамп трассировки всего поступления и исходящих данных, включая описательную информацию

И следующая опция wget:

  • --timestamping - Включите добавление метки времени
6
ответ дан 28 November 2019 в 20:00

Селен и Завихрение являются хорошими вариантами в зависимости от того, какова Ваша цель. Кроме того, утилита, что я приехал для симпатии вполне немного, twill. Больше информации доступно по http://twill.idyll.org/.

Это хорошо, поскольку это имеет свой собственный небольшой специализированный язык для того, чтобы заполнить формы, проверяя ссылки, и проверяя коды ответа. Так как это - просто код Python, можно легко импортировать библиотеки и автоматизировать тесты сами, если требуется сделать что-то другое.

3
ответ дан 28 November 2019 в 20:00

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

time curl -I http://yourpage.com | grep HTTP

перенесите это в некоторое время цикл, и Вы хороши для движения. Тем же путем можно проверить на все элементы, если Вы знаете URL.

2
ответ дан 28 November 2019 в 20:00

Если Вы испытываете необходимость в чем-то большем, затем завихряются и/или wget, существует также селен

0
ответ дан 28 November 2019 в 20:00

Я думаю для выполнения теста производительности, можно попробовать JMeter. Можно записать тест с помощью созданного в прокси. Это также работает в текстовом режиме, локальном или распределенном. Можно сохранить результаты в csv или xml формате. При использовании xml формата можно также сохранить содержание страницы.

0
ответ дан 28 November 2019 в 20:00

попробуйте инструмент командной строки под названием 'siege' в соответствии с инструкциями здесь

1
ответ дан 28 November 2019 в 20:00

Для проверки заголовков мне нравится 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
0
ответ дан 28 November 2019 в 20:00

Какой инструмент вы выберете, зависит от того, что вы хотите измерить, и от сложности сайта.

Если поведение сайта зависит от файлов cookie (например, пользователю необходимо войти в систему), тогда ab / curl / wget (описано в другие ответы) не хватит. Одно из решений - использовать http :: Recorder / www :: Mechanize .

Все запрашиваемые данные находятся в журналах вашего веб-сервера, и простой сценарий awk вернет их в более удобочитаемой форме. .

измерить время, необходимое для загрузки различных элементов сайта.

Это очень плохой показатель производительности (хотя он полезен для мониторинга работоспособности производственной системы). За исключением больших / медленных ресурсов, таких как объемные отчеты, ISO-изображения, мультимедийные файлы, восприятие производительности очень мало связано со временем, затрачиваемым на обработку одного запроса, и его действительно сложно измерить точно (просто добавив% D в ваш журнал apache, похоже, решает проблему, но игнорирует квитирование TCP, согласование SSL, эффекты кеширования, время поиска DNS).

Лучшее решение - использовать что-то вроде Boomerang , но это выполняется Браузер с поддержкой Javascript. Хотя это дает лучший индикатор воспринимаемой производительности, чем отслеживание отдельных HTTP-запросов, он полагается на события браузера для получения значения производительности, но ожидаемая производительность - это время, затрачиваемое на визуализацию области просмотра (опять же, для этого есть инструменты - взгляните на инструменты киноленты в WebPageTest ).

Существует также аргумент об измерении производительности, фактически предоставляемой пользователям сайта (RUM), по сравнению с синтетическим тестированием.

1
ответ дан 28 November 2019 в 20:00

Теги

Похожие вопросы