Простий інструмент Linux для визначення часу http запиту в мілісекундах


12

Я шукаю простий інструмент або вбудовану команду, яка дозволить мені з мілісекундною точністю виміряти час, необхідний для отримання віддаленої веб-сторінки з заданої URL-адреси.

Відповіді:


12

Це робить те, що ви шукаєте?

time wget http://example.com

Це включає час, необхідний для запуску та запуску wget, який може бути значно довшим, ніж час реакції сервера.
Пол Лінч

@PaulLynch: Я зробив простий тест. Я запустив це в одному терміналі: rm foo; touch foo; python -m SimpleHTTPServerі в іншому: time wget --quiet --output-document=/dev/null localhost:8000/fooі результат був 2 мілісекунди. Я побіг так само wgetпроти google.com (який набирає близько 10 К символів) і отримав близько чверті секунди. Тож давайте назвемо час початку / запуску приблизно 1% у такому випадку. Потім, для порівняння, я зробив time curl file://fooі отримав близько 4 мілісекунд.
Призупинено до подальшого повідомлення.

Здається, ви маєте рацію, що стосується запитів http-- для яких я отримую лише близько 2мс сповільнення. Я намагався отримати URL-адресу https. З цього приводу wget приблизно на 25 мс повільніше для запиту, який Chrome повертає приблизно на 10 мс (а не "з кешу"). І wget, і Chrome працюють на тій же машині, що й веб-сервер, і адресують його як "localhost", тому я звинувачую wget у різниці у часі.
Пол Лінч

7

Httping зробить це.

Httping - це як "ping", але для http-запитів. Надайте URL-адресу, і вона покаже вам, скільки часу потрібно для підключення, надішліть запит і отримайте відповідь (лише заголовки). Майте на увазі, що передача по всій мережі також вимагає часу! Таким чином, він вимірює затримку роботи веб-сервера + мережі.


3

Wireshark дозволить вам детально вивчити передачу. Ви можете бачити, скільки часу потрібно для завантаження одного файлу, як запропонував Денніс, або якщо ви відкриєте URL-адресу у веб-браузері, ви можете бачити, скільки часу потрібно для завантаження всіх пов’язаних файлів (зображень, сценаріїв тощо).


2

Ви можете зробити це з завитком, відповідно до цієї відповіді

Створіть новий файл curl-format.txtі вставте:

    time_namelookup:  %{time_namelookup}\n
       time_connect:  %{time_connect}\n
    time_appconnect:  %{time_appconnect}\n
   time_pretransfer:  %{time_pretransfer}\n
      time_redirect:  %{time_redirect}\n
 time_starttransfer:  %{time_starttransfer}\n
                    ----------\n
         time_total:  %{time_total}\n

Потім запустіть curl так:

curl -w "@curl-format.txt" -o /dev/null -s "http://wordpress.com/"

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.