AB压力测试工具的使用
1、AB安装
1.1下载Apache httpd
https://de.apachehaus.com/downloads/httpd-2.4.39-o111b-x86-vc15.zip
1.2 配置环境变量
解压下载的文件,在环境变量path中加入
;D:\Program Files (x86)\Apache24\bin
2、AB使用
ab -n 100 -c 10 -k -p D:\post.txt -T application/json http://l
calhost:9199/work/queryDone
#post.txt为请求参数 json字符串 如果是https请求,请用abs命令
n 发送请求的数量
-c 同一时刻模拟用户的数量
-s 每个响应的最长等待时间 默认是30秒
-k
-p 发送post请求参数存放的文件 (使用此选项的时候一定要加上-T参数)
-T 文本类型 默认为text-plain post请求时一般为’application/x-www-form-urlencoded’。
我的是application/json 因为我的后端是@requestbody注解的 ,根据各自的项目规范来吧
测试结果

3、参数说明
Server Software : 服务器类型
Server Hostname:localhost //服务器名
Server Port:9199 //端口
Document Path: /work/queryDone //请求地址
Document Length: 6320 bytes //请求大小
Concurrency Level:10 //并发请求数
Time taken for tests:25.991 seconds ////整个测试持续的时间
Complete requests: 100 //完成的请求数
Failed requests: 0 //失败的请求数
Keep-Alive requests:0 //保持活动状态的请求
Total transferred: 649900 bytes //整个场景中网络传输量
Total body sent: 37300 //总共发送字节量
HTML transferred: 13197000 bytes //整个场景中html的传输量
Requests per second:3.85 [#/sec] (mean)//吞吐率,大家最关心的指标之一,相当于 LR 中的每秒事务数,后面括号中的 mean 表示这是一个平均值
Time per request: 2599.100ms//用户平均请求等待时间,大家最关心的指标之二,相当于 LR 中的平均事务响应时间,后面括号中的 mean 表示这是一个平均值
Time per request: 259.910 [ms] (mean, across all concurrent requests)//服务器平均请求处理时间,大家最关心的指标之三
Transfer rate:
263.02 [Kbytes/sec] received
1.4 kb/s sent
25.82 kb/s total
//平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题
connection Times (ms) //网络链接耗时
percentage of the request served within a certain times (ms) //完成请求耗时为N的百分比 如图中50%的请求在2516ms完成,99%的请求3039ms完成

