如何测量 Python 请求 POST 请求的服务器响应时间

问题描述

我像这样创建 requests POST 请求,我在其中指定超时阈值:

I create requests POST-requests like this, where I specify timeout threshold:

response = requests.post(url, data=post_fields, timeout=timeout)

但是,为了确定一个好的"阈值,我想提前对服务器响应时间进行基准测试.

However, to determine a "good" threshold value, I would like to benchmark the server response time in advance.

如何计算服务器的最小和最大响应时间?

How do I compute the minimum and maximum response times for the server?


解决方案

requests.post()(和requests.get() etc.) 有一个名为 elapsed 的属性,它提供发送 Request 和收到 Response 之间的时间差.要以秒为单位获取增量,请使用 total_seconds() 方法:

The Response object returned by requests.post() (and requests.get() etc.) has a property called elapsed, which provides the time delta between the Request was sent and the Response was received. To get the delta in seconds, use the total_seconds() method:

response = requests.post(url, data=post_fields, timeout=timeout)
print(response.elapsed.total_seconds())

注意 requests.post() 是一个同步操作,这意味着它阻塞直到收到 Response.

Note that requests.post() is a synchronous operation, which means that it blocks until the Response is received.

相关文章