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

5090
GJ.

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

12

4 ответа на вопрос

12
Dennis Williamson

Это делает то, что вы ищете?

time wget http://example.com 
Это будет включать время, необходимое для запуска и запуска wget, которое может быть значительно больше времени отклика сервера. Paul Lynch 7 лет назад 0
@PaulLynch: я сделал простой тест. Я запустил это в одном терминале: `rm foo; коснуться фу; python -m SimpleHTTPServer` и в другом: `time wget --quiet --output-document = / dev / null localhost: 8000 / foo`, и результат составил 2 миллисекунды. Я запустил тот же самый wget против google.com (который получает около 10 000 символов) и получил около четверти секунды. Итак, давайте назовем время запуска / выполнения около 1% в этом случае. Затем для сравнения я сделал `time curl file: // foo` и получил около 4 миллисекунд. Dennis Williamson 7 лет назад 0
Кажется, вы правы, для запросов http - для которых я получаю только около 2 мс замедления. Я пытался получить https URL. Для этого, wget примерно на 25 мс медленнее для запроса, который Chrome возвращает примерно за 10 мс (а не "из кеша"). И wget, и Chrome работают на той же машине, что и веб-сервер, и называют его "localhost", поэтому я виню wget в разнице во времени. Paul Lynch 7 лет назад 0
6
garyjohn

Httping сделает это.

Httping похож на 'ping', но для http-запросов. Дайте ему URL-адрес, и он покажет вам, сколько времени требуется для подключения, отправки запроса и получения ответа (только заголовки). Помните, что передача по сети также требует времени! Таким образом, он измеряет задержку сети веб-сервер +.

3
Neil

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

1
Harry Wood

Вы можете сделать это с помощью curl согласно этому ответу

Создайте новый файл curl-format.txtи вставьте:

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

Затем запустите curl следующим образом:

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

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