ApacheBench(ab)压测时两个Time per request 分表表示什么意思?

周梦康
  • 8.9k
Concurrency Level:      20
Time taken for tests:   97.526 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      36339832 bytes
HTML transferred:       35965084 bytes
Requests per second:    10.25 [#/sec] (mean)
Time per request:       1950.518 [ms] (mean)
Time per request:       97.526 [ms] (mean, across all concurrent requests)
Transfer rate:          363.88 [Kbytes/sec] received

查看手册上的解释是:

The first value is calculated with the formula concurrency *timetaken * 1000 / done

while the second value is calculated with the formula timetaken * 1000 / done

第一个里面:(并发*消耗的时间*1000)/done 这里done是什么意思

怎么更好的理解这两个值。

回复
阅读 11.2k
2 个回答
Windoze
  • 9.7k

ab有一个-c n参数,就是第一行的Concurrency Level,可以让ab创建n个并发连接进行测试。
第一个Time per request代表每个链接上单个请求的平均响应时间
第二个Time per request所有链接合计后单个请求的平均响应时间
它们之间的关系是:Tpr1=Tpr2*n

done 就是 Complete requests的数值, 代表完成的请求数

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏