Измерения сайт время загрузки с Python запросы

Я пытаюсь создать инструмент для тестирования задержки моего подключения к интернету, а точнее время загрузки веб-сайта. Я думал об использовании python запросы модуль для загрузки.

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

что я не уверен, так это то, что если я запускаю timeit так:

t = timeit.Timer("requests.get('http://www.google.com')", "import requests")

Я Я действительно измерение времени, которое потребовалось для получения ответа, или времени, которое требуется для того, чтобы запрос был построен, отправлен, получен и т. д.? Я предполагаю, что я мог бы, возможно, игнорировать это время excecution, так как я тестирую сети с очень длинными задержками (~700ms)?

есть ли лучший способ сделать это программно?

2 ответов


что касается вашего вопроса, это должно быть общее время для

  1. время создания объекта запрос
  2. отправить запрос
  3. получите ответ
  4. разбор ответа (см. комментарий Томаса Ороско )

другие способы измерения времени загрузки одного запроса - использовать urllib:

nf = urllib.urlopen(url)
start = time.time()
page = nf.read()
end = time.time()
nf.close()
# end - start gives you the page load time

есть такая функциональность в последней версии запросов:

http://docs.python-requests.org/en/latest/api/?highlight=elapsed#requests.Response.elapsed

например:

requests.get("http://127.0.0.1").elapsed.total_seconds()