1

我正在对服务器进行负载测试,因此我有一个客户端吐出大量 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 和其他一些东西来处理大量并发请求——我的问题不是关于如何让系统处理许多并发请求,而是关于如何测量实际提出请求的时间)。

4

1 回答 1

0

如果您的主要目标只是对服务器进行负载测试,您可能应该考虑使用现有的工具来完成这项工作,例如ApacheBench。对于更复杂的测试,您可以尝试Multi-Mechanize。这些工具专为负载测试目的而设计,与示例中的 Requests 等库相比,可能缺乏开销。

于 2013-08-05T11:49:45.490 回答