ab apache基准测试中的传输速率

时间:2016-10-28 07:58:04

标签: java performance undertow apachebench

我正在对我在框架中编写的简单helloworld应用程序与SpringBoot中编写的one进行基准测试。

SpringBoot版本的ab日志:

luog~$ ab -n 100000 -c 20 http://localhost:8080/hello?name=rythm
This is ApacheBench, Version 2.3 <$Revision: 1706008 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Completed 10000 requests
Completed 20000 requests
Completed 30000 requests
Completed 40000 requests
Completed 50000 requests
Completed 60000 requests
Completed 70000 requests
Completed 80000 requests
Completed 90000 requests
Completed 100000 requests
Finished 100000 requests


Server Software:        Apache-Coyote/1.1
Server Hostname:        localhost
Server Port:            8080

Document Path:          /hello?name=rythm
Document Length:        155 bytes

Concurrency Level:      20
Time taken for tests:   6.733 seconds
Complete requests:      100000
Failed requests:        0
Total transferred:      32100000 bytes
HTML transferred:       15500000 bytes
Requests per second:    14851.38 [#/sec] (mean)
Time per request:       1.347 [ms] (mean)
Time per request:       0.067 [ms] (mean, across all concurrent requests)
Transfer rate:          4655.56 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.1      0       2
Processing:     0    1   0.7      1      15
Waiting:        0    1   0.7      1      15
Total:          0    1   0.7      1      15

Percentage of the requests served within a certain time (ms)
  50%      1
  66%      1
  75%      2
  80%      2
  90%      2
  95%      2
  98%      3
  99%      4
 100%     15 (longest request)

ActFramework的ab日志:

luog~$ ab -n 100000 -c 20 http://localhost:5460/?who=rythm
This is ApacheBench, Version 2.3 <$Revision: 1706008 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Completed 10000 requests
Completed 20000 requests
Completed 30000 requests
Completed 40000 requests
Completed 50000 requests
Completed 60000 requests
Completed 70000 requests
Completed 80000 requests
Completed 90000 requests
Completed 100000 requests
Finished 100000 requests


Server Software:        
Server Hostname:        localhost
Server Port:            5460

Document Path:          /?who=rythm
Document Length:        111 bytes

Concurrency Level:      20
Time taken for tests:   6.796 seconds
Complete requests:      100000
Failed requests:        0
Total transferred:      18600000 bytes
HTML transferred:       11100000 bytes
Requests per second:    14714.64 [#/sec] (mean)
Time per request:       1.359 [ms] (mean)
Time per request:       0.068 [ms] (mean, across all concurrent requests)
Transfer rate:          2672.78 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       1
Processing:     0    1   1.2      1       9
Waiting:        0    1   1.2      1       9
Total:          0    1   1.2      1       9

Percentage of the requests served within a certain time (ms)
  50%      1
  66%      2
  75%      2
  80%      3
  90%      3
  95%      3
  98%      4
  99%      4
 100%      9 (longest request)

正如我们所看到的,每秒的交易几乎相同。但是,转移率是非常不同的。 SpringBoot版本超过4.5Kb / s,而Act版本只有2.7Kb / s。

我想知道

  1. 为什么传输速率如此不同,响应时间几乎相同?

  2. 如何提高转移率?我使用底层作为我的网络层,我应该做些什么来调整底线? Here是我创建底层网络层的代码

1 个答案:

答案 0 :(得分:1)

处理的请求数相同,但内容和HTTP标头中的响应都不同。因此,流量也有差异。