用Python请求度量网站加载时间

2024-06-28 09:03:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试建立一个工具来测试我的互联网连接的延迟,更具体地说是网站加载时间。我想在加载部分使用pythonrequests模块。

问题是,它没有内置功能来测量获得完整响应所需的时间。为此,我想我会使用timeit模块。

我不确定的是,如果我像这样运行timeit:

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

我真的是在测量响应到达的时间,还是构建、发送、接收请求的时间?我想我可能会忽略这个执行时间,因为我正在测试具有很长延迟(约700毫秒)的网络?

有没有更好的方法可以用编程的方式做到这一点?


Tags: 模块工具功能httpget网站www时间
2条回答

最新版本的请求中有这样的功能:

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

例如:

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

至于你的问题,应该是

  1. 创建请求对象的时间
  2. 发送请求
  3. 接收响应
  4. 解析响应(参见Thomas Orozco的评论)

测量单个请求加载时间的其他方法是使用urllib:

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

相关问题 更多 >