ab命令
-n 测试会话中所执行的请求个数,默认仅执行一个请求
-c 一次产生的请求个数,即同一时间发出多少个请求,默认为一次一个
-t 测试所进行的最大秒数,默认为无时间限制....其内部隐含值是[-n 50000],它可以使对服务器的测试限制在一个固定的总时间以内
-p 包含了需要POST的数据的文件
-T POST数据所使用的Content-type头信息
-v 设置显示信息的详细程度
-w 以HTML表格的形式输出结果,默认是白色背景的两列宽度的一张表
-i 以HTML表格的形式输出结果,默认是白色背景的两列宽度的一张表
-x 设置<table>属性的字符串,此属性被填入<table 这里>
-y 设置<tr>属性的字符串
-z 设置<td>属性的字符串
-C 对请求附加一个Cookie行,其典型形式是name=value的参数对,此参数可以重复
-H 对请求附加额外的头信息,此参数的典型形式是一个有效的头信息行,其中包含了以冒号分隔的字段和值的对(如"Accept-Encoding: zip/zop;8bit")
-A HTTP验证,用冒号:分隔传递用户名及密码
-P 无论服务器是否需要(即是否发送了401认证需求代码),此字符串都会被发送
-X 对请求使用代理服务器
-V 显示版本号并退出
-k 启用HTTP KeepAlive功能,即在一个HTTP会话中执行多个请求,默认为不启用KeepAlive功能
-d 不显示"percentage served within XX [ms] table"的消息(为以前的版本提供支持)
-S 不显示中值和标准背离值,且均值和中值为标准背离值的1到2倍时,也不显示警告或出错信息,默认会显示最小值/均值/最大值等(为以前的版本提供支持)
-g 把所有测试结果写入一个'gnuplot'或者TSV(以Tab分隔的)文件
-e 产生一个以逗号分隔的(CSV)文件,其中包含了处理每个相应百分比的请求所需要(从1%到100%)的相应百分比的(以微妙为单位)时间
-h 显示使用方法
-k 发送keep-alive指令到服务器端
示例
ab -n 100 -c 5 www.gotophp.cn/index.html
Server Software: nginx/1.12.2 #nginx版本
Server Hostname: www.gotophp.cn #域名
Server Port: 80 #端口
Document Path: /index.html #路径
Document Length: 15862 bytes #文档大小
Concurrency Level: 5 #并发数
Time taken for tests: 14.633 seconds #请求返回结果耗时
Complete requests: 100 #完成请求次数
Failed requests: 0 #失败次数
Write errors: 0 # 错误
Total transferred: 1611300 bytes //整个场景中的网络传输量
HTML transferred: 1586200 bytes //整个场景中的HTML内容传输量
Requests per second: 6.83 [#/sec] (mean) # 每秒钟的请求量。(仅仅是测试页面的响应速度)
Time per request: 731.641 [ms] (mean) #即平均请求等待时间(用户等待的时间)
Time per request: 146.328 [ms] (mean, across all concurrent requests) #每个请求实际运行时间的平均值
Transfer rate: 107.53 [Kbytes/sec] received #//平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 51 219.5 0 1003
Processing: 1 649 1159.7 228 7137
Waiting: 0 141 343.5 1 1886
Total: 1 700 1208.2 229 7138
Percentage of the requests served within a certain time (ms)
50% 229 # # 50%的请求在229内返回
66% 632
75% 926
80% 1001
90% 1710
95% 3031
98% 6301
99% 7138
100% 7138 (longest request)
网友评论