ab是Apache超文本传输协议(HTTP)的性能测试工具,其设计意图是描绘当前所安装的Apache服务器的执行性能,主要是显示你安装的Apache服务器每秒可以处理多少个请求,提供需要的基本性能指标,但是没有图形化结果,不能监控,因此ab工具可以用作临时紧急任务和简单测试。
一、发送请求参数含义
- -c:并发数
- -n:请求数
- -p:发送post请求时,保存参数的文件所在的位置
- -T:请求的内容类型,如“application/json”
二、结果参数含义
- Concurrency Level:并发请求数
- Time taken for tests:整个测试持续的时间
- Complete requests:完成的请求数
- Failed requests:失败的请求数
- Total transferred:整个场景中的网络传输量
- HTML transferred:整个场景中的HTML内容传输量
- Requests per second:吞吐率,相当于 LR 中的每秒事务数,后面括号中的 mean 表示这是一个平均值
- Time per request:用户平均请求等待时间,相当于 LR 中的平均事务响应时间,后面括号中的 mean 表示这是一个平均值
- Time per request:服务器平均请求处理时间
- Transfer rate:平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题
- Connect times:表示网络上消耗的时间的分解
- Percentage of the requests served within a certain time:每个请求处理时间的分布情况,主要看90%的时间情况
三、举例
get请求
并发数50,请求数5000,向IP为49.233.211.29的9779端口发送get请求“GetAllEquipment”
ab -c 100 -n 5000 http://49.233.211.29:9779/GetAllEquipment
post请求
并发数50,请求数5000,向IP为49.233.211.29的9779端口发送post请求“login”,login接口所需要的参数和内容以json格式保存在路径为/home/panqiaoqiao/Desktop/loginParam.txt的文件中
ab -c 50 -n 5000 -p /home/panqiaoqiao/Desktop/loginParam.txt -T application/json http://49.233.211.29:9779/login