apache ab压力测试工具参数及返回结果释义

友情提醒:本文最后更新于 2239 天前,文中所描述的信息可能已发生改变,请谨慎使用。

Apache附带的ab,它非常容易使用,ab可以直接在Web服务器本地发起测试请求。这至关重要,因为我们希望测试的服务器的处理时间,而不包含数据的网络传输时间以及用户PC本地的计算时间。

需要清楚的是,ab进行一切测试的本质都是基于HTTP,所以可以说它是对于Web服务器软件的黑盒性能测试,它获得的一切数据和计算结果,都可以通过HTTP来解释。

参数说明及示例

我们可以模拟100个并发用户,对一个页面发送1000个请求

输入命令:

ab -n1000 -c100 https://www.baidu.com/

其中: -n代表请求数,-c代表并发数,https://www.baidu.com/ 表示压测请求的目标URL。

返回结果:

# 首先是apache的版本信息 
This is ApacheBench, Version 2.3 <Revision:655654> 
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.xxx.xxx/ 
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking xxx.xxx.com (be patient)

Server Software:    Apache/2.2.19  # apache版本 
Server Hostname:    vm1.xxx.com  # 请求的主机
Server Port:      80 # 请求端口

Document Path:     /xxx.html 
Document Length:    25 bytes # 页面长度

Concurrency Level:   100 ##并发数 
Time taken for tests:  0.273 seconds # 共使用了多少时间 
Complete requests:   1000  # 请求数 
Failed requests:    0  # 失败请求 
Write errors:      0  
Total transferred:   275000 bytes  # 总共传输字节数,包含http的头信息等 
HTML transferred:    25000 bytes  # html字节数,实际的页面传递字节数 
Requests per second:  3661.60 [#/sec] (mean) # 每秒多少请求,这个是非常重要的参数数值,服务器的吞吐量 
Time per request:    27.310 [ms] (mean) # 用户平均请求等待时间 
Time per request:    0.273 [ms] (mean, across all concurrent requests) # 服务器平均处理时间,也就是服务器吞吐量的倒数 
Transfer rate:     983.34 [Kbytes/sec] received # 每秒获取的数据长度

Connection Times (ms) 
       min mean[+/-sd] median  max 
Connect:    0  1  2.3   0   16 
Processing:   6  25  3.2   25   32 
Waiting:    5  24  3.2   25   32 
Total:     6  25  4.0   25   48

Percentage of the requests served within a certain time (ms) 
 50%   25 # 50%的请求在25ms内返回 
 66%   26 # 60%的请求在26ms内返回 
 75%   26 
 80%   26 
 90%   27 
 95%   31 
 98%   38 
 99%   43 
100%   48 (longest request)

 

上一篇:Django中聚合函数aggregate()和annotate()的区别

下一篇:Django中session的使用