我正在对服务器进行负载测试,因此我有一个客户端吐出大量 HTTP 请求(每秒数百个,可能是数千个)。我想测量服务器响应需要多长时间。目前我正在测量这个响应时间,如下所示:
import requests, time
start_time = time.time()
response = requests.get('https://testserver.mydomain.com/service')
response_time = time.time() - start_time
但是,我担心当客户端每秒发出太多请求时,http 请求实际上并没有发送到服务器,start_time
而是花一些时间在客户端机器上的某个队列或类似性质的东西中踢来踢去。我怎样才能得到一个更准确的start_time
?
(请注意,客户端和服务器上都修改了 ulimits 和其他一些东西来处理大量并发请求——我的问题不是关于如何让系统处理许多并发请求,而是关于如何测量实际提出请求的时间)。