Apachebench Apache Bench:所有并发请求的平均值与平均值

Apachebench Apache Bench:所有并发请求的平均值与平均值,apachebench,Apachebench,这两个字段之间的区别是什么 每个请求的时间(平均值) 每个请求的时间(所有并发请求的平均时间) 它们是如何计算的 样本输出: Time per request: 3953.446 [ms] (mean) Time per request: 39.534 [ms] (mean, across all concurrent requests) 为什么会有很大的不同?查看您的输入会很有帮助,但是,我相信输出告诉您,执行并发请求不会节省时间 C:\>ab -d -e

这两个字段之间的区别是什么

  • 每个请求的时间(平均值)
  • 每个请求的时间(所有并发请求的平均时间)
它们是如何计算的

样本输出:

Time per request:       3953.446 [ms] (mean)
Time per request:       39.534 [ms] (mean, across all concurrent requests)

为什么会有很大的不同?

查看您的输入会很有帮助,但是,我相信输出告诉您,执行并发请求不会节省时间

C:\>ab -d -e a.csv -v 1 -n 1000 -c 3 http://www.example.com/index.aspx
This is ApacheBench, Version 2.0.41-dev <$Revision: 1.121.2.12 $> apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking www.m-taoyuan.tw (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Finished 1000 requests


Server Software:        Microsoft-IIS/6.0
Server Hostname:        www.m-taoyuan.tw
Server Port:            80

Document Path:          /index.aspx
Document Length:        25986 bytes

Concurrency Level:      3
Time taken for tests:   25.734375 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      26372000 bytes
HTML transferred:       25986000 bytes
Requests per second:    38.86 [#/sec] (mean)
Time per request:       77.203 [ms] (mean)
Time per request:       25.734 [ms] (mean, across all concurrent requests)
Transfer rate:          1000.72 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    1   4.4      0      15
Processing:    62   75   9.1     78     109
Waiting:       46   64   8.0     62     109
Total:         62   76   9.3     78     109
每个请求的时间(平均值)告诉您一组并发请求处理的平均时间

每个请求的时间(所有并发请求的平均时间)告诉您单个请求自行处理的平均时间

如果同时处理100个请求,则需要3953.446ms

如果单独处理,则需要39.534ms*100=3953.4ms


相同的号码。执行并发请求不会节省时间(至少对于您测试的请求总数而言)。

以下是ab测试结果的示例。我发出1000请求,而3请求是并发的

C:\>ab -d -e a.csv -v 1 -n 1000 -c 3 http://www.example.com/index.aspx
This is ApacheBench, Version 2.0.41-dev <$Revision: 1.121.2.12 $> apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking www.m-taoyuan.tw (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Finished 1000 requests


Server Software:        Microsoft-IIS/6.0
Server Hostname:        www.m-taoyuan.tw
Server Port:            80

Document Path:          /index.aspx
Document Length:        25986 bytes

Concurrency Level:      3
Time taken for tests:   25.734375 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      26372000 bytes
HTML transferred:       25986000 bytes
Requests per second:    38.86 [#/sec] (mean)
Time per request:       77.203 [ms] (mean)
Time per request:       25.734 [ms] (mean, across all concurrent requests)
Transfer rate:          1000.72 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    1   4.4      0      15
Processing:    62   75   9.1     78     109
Waiting:       46   64   8.0     62     109
Total:         62   76   9.3     78     109
C:\>ab-d-ea.csv-v1-n1000-c3http://www.example.com/index.aspx
这是ApacheBench,版本2.0.41-dev apache-2.0
版权所有(c)1996亚当·特维斯,宙斯科技有限公司,http://www.zeustech.net/
版权所有(C)2006 Apache软件基金会,http://www.apache.org/
标杆www.m-taoyan.tw(耐心等待)
完成100个请求
已完成200个请求
已完成300个请求
已完成400个请求
完成了500个请求
已完成600个请求
已完成700个请求
已完成800个请求
已完成900项请求
完成了1000个请求
服务器软件:Microsoft IIS/6.0
服务器主机名:www.m-taoyan.tw
服务器端口:80
文档路径:/index.aspx
文件长度:25986字节
并发级别:3
测试时间:25.734375秒
完成申请:1000
失败的请求:0
写入错误:0
传输总量:26372000字节
传输的HTML:25986000字节
每秒请求数:38.86[#秒](平均值)
每次请求的时间:77.203[ms](平均值)
每个请求的时间:25.734[ms](所有并发请求的平均时间)
传输速率:接收到1000.72[千字节/秒]
连接时间(毫秒)
最小平均值[+/-sd]最大中值
连接:0 1 4.4 0 15
处理:62759.178109
候补人数:46648.062109
总数:62769.378109
如您所见,每个请求有两个时间字段

  • 每个请求的时间(平均值)
  • 每个请求的时间(所有并发请求的平均时间)
请先检查测试所用的时间字段。该值为25.734375秒,即25734.375毫秒

如果我们将25734.375 ms除以1000,则得到25.734[ms],这是每个请求的时间(所有并发请求的平均值)字段的值

对于每个请求的时间(平均值),值为77.203[ms]。该值略长于每个请求的时间(平均值,在所有并发请求中)。这是因为(平均值)由每个特定请求计算,并计算其平均时间

让我给你举个简单的例子

假设我们使用3并发连接发出3请求。测试所用的时间将90ms,每个请求分别为40ms、50ms、30ms。那么,每个请求的这两个时间值是多少

  • 每次请求的时间(平均值)=(40+50+30)/3=40ms
  • 每个请求的时间(所有并发请求的平均时间)=90/3=30ms

希望您能理解。:)

我看不出并发请求如何导致更快的单个请求。每个请求的时间(所有并发请求的平均时间)只能告诉我处理并发请求的效率。