【问题标题】:How to get actual time TCP request is made and response is received by OS如何获取发出 TCP 请求和 OS 收到响应的实际时间
【发布时间】:2013-08-05 23:24:26
【问题描述】:

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

【问题讨论】:

    标签: python linux http ubuntu tcp


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2018-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-08
      • 2018-05-01
      相关资源
      最近更新 更多