Я шукаю інструмент для тестування веб-сайту з командного рядка Linux.
З результатів мені потрібно знати відповідь http (коди статусу), а також орієнтувати час, який потрібно на завантаження різних елементів сайту.
Спасибі заздалегідь.
Я шукаю інструмент для тестування веб-сайту з командного рядка Linux.
З результатів мені потрібно знати відповідь http (коди статусу), а також орієнтувати час, який потрібно на завантаження різних елементів сайту.
Спасибі заздалегідь.
Відповіді:
Ви можете спробувати wget
з -p
варіантом:
wget -p http://site.com
Він розповість, скільки часу потрібно для завантаження кожного елемента та повернення кодів для кожного запиту.
wget -p URL -O /dev/null
Будь ласка, перегляньте показник Apache:
Це має дати вам огляд продуктивності вашої сторінки.
Ви можете переглянути такі варіанти curl
:
--write-out
- відображає будь-яку з декількох змінних часу--trace-time
- Попереджує позначку часу до кожного сліду чи багатослівного рядка--verbose
--include
- (HTTP) Включіть HTTP-заголовок у висновок.--trace-ascii <file>
- Включає повне відстеження слідів усіх вхідних та вихідних даних, включаючи описову інформаціюІ наступний варіант wget
:
--timestamping
- Увімкніть мітку часуcurl --trace-ascii <file> --trace-time -o /dev/null <url>
було саме те, що мені було потрібно. Спасибі!
Селен і Керл - хороші варіанти залежно від того, яка ваша мета. Також утиліта, яка мені подобається зовсім небагато twill
. Більше інформації розміщено на веб-сайті http://twill.idyll.org/ .
Це приємно, оскільки він має власну невелику спеціалізовану мову для заповнення форм, перевірки посилань та перевірки кодів відповідей. Оскільки це лише код Python, ви можете легко імпортувати бібліотеки та автоматизувати свої тести самостійно, якщо хочете зробити щось інше.
Використовуйте curl, щоб отримати заголовок сторінки та час:
time curl -I http://yourpage.com | grep HTTP
заверніть це на певний час і вам добре піти. Так само ви можете перевірити всі елементи, якщо знаєте URL-адресу.
спробуйте інструмент командного рядка під назвою "облога", як тут прописано
Який інструмент ви виберете, залежить від того, що ви хочете виміряти, і складності сайту.
Якщо поведінка сайту залежить від файлів cookie (наприклад, користувачеві потрібно увійти), то ab / curl / wget (описано в інших відповідях) буде недостатньо. Одне рішення - використовувати http :: recorder / www :: механізацію .
Усі дані, про які ви запитуєте, знаходяться у ваших журналах веб-сервера, - а простий скрипт awk поверне його у більш читаному вигляді.
орієнтовний час, який потрібно для завантаження різних елементів сайту.
Це дуже поганий показник ефективності (хоча це корисно для моніторингу стану здоров'я виробничої системи). За винятком великих / повільних ресурсів, таких як об'ємні звіти, ізо-зображення, мультимедійні файли, сприйняття продуктивності має дуже мало спільного з часом, необхідним для опрацювання одного запиту - і його справді важко точно виміряти (просто додаючи% Здається, що D до вашого журналу apache вирішує проблему, але ігнорує рукостискання TCP, узгодження SSL, кешування ефектів, часи пошуку DNS).
Краще рішення - використовувати щось на зразок Boomerang - але це працює в браузері, що підтримує Javascript. Хоча це дає кращий показник сприйнятої ефективності, ніж відстеження окремих запитів HTTP, він покладається на події браузера, щоб отримати значення для продуктивності, але сприйнята ефективність - це весь час, необхідний для візуального огляду (знову є інструменти для цього - ознайомтеся з інструментами для зняття фільму в WebPageTest ).
Існує також аргумент щодо вимірювання ефективності, фактично наданої користувачам сайту (RUM) та синтетичному тестуванню.
Якщо вам знадобиться щось більше, ніж завийте і / або потріскайте, також є селен
Я думаю, що для запуску тесту на продуктивність ви можете спробувати JMeter . Ви можете записати свій тест за допомогою вбудованого проксі. Він також працює в текстовому режимі, локальному або розповсюдженому. Ви можете зберегти результати у форматі CSV або XML. Якщо ви використовуєте формат XML, ви також можете зберігати вміст сторінки.
Для перевірки заголовків мені подобається httpie
( документи ).
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