我正在加载测试服务器,所以我有一个客户端吐出大量的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和some other stuff以处理大量的并发请求 - 我的问题不在于如何让系统处理许多并发请求,而是关于如何衡量实际发出请求的时间。)
答案 0 :(得分:0)
如果您的主要目标只是加载测试服务器,您应该考虑使用现有工具来完成工作,例如: ApacheBench。对于更复杂的测试,您可以尝试Multi-Mechanize。这些工具专门用于负载测试,与示例中的请求等库相比可能缺乏开销。