在执行接口压力测试过程中,我们制定了并发线程数,那在执行完毕后我们主要关注以下数据指标:
其中资源指标可以请后端同学查看。
那系统指标:并发用户数(及我们设定的样本线程数),响应时间,事务成功率,超时错误率,我们可以从jmter生成的汇总报告中查看。
通过命令行执行jmeter脚本后,在bin目录下生成一个result文件如图,webreport是需要自己创建好的,否则无法生成html的测试报告:
result文件夹中生成的是一个txt文件。
webreport中生成的文件如图:
我们点击index.html就可以在浏览器中查看测试报告结果了!!
-----------------------------------------------------------------------------------------------------
我们先来看下报告中都有哪些数据吧...
- Dashboard 面板
start time 开始时间
end time 结束时间
filter for display 过滤器
T(Toleration threshold):容忍或满意阈值
F(Frustration threshold):失败阈值
Requests Summary中pass指成功率,fail指失败率
1. 数据分析,基本将summary report 和 aggrerate report 的结果合并,含义分别为:
请求接口名称;执行--样本数目,失败数目,错误率;响应时间--平均响应时间,最小、最大、最中间响应时间,90%、95%、99%用户响应时间;吞吐量;每秒从服务器端接收到和发送的数据量;
2. 错误情况:展示不同的错误类型和数量等信息
3. 前五个错误情况
- Charts
-- over time
-- throughput
-- response time
over time:
- Response Times Over Time:随着时间推移响应时间变化趋势图
- Response Times Percentiles Over Time(successful responses):随着时间推移响应时间百分比(成功响应)
- Active Threads Over Time:随着时间推移的活动线程
- Bytes Throughput Over Time:随着时间推移每秒接收和请求字节数变化趋势图,蓝色为每秒发送字节数,黄色为每秒接收字节数
- Latencies Over Time:随着时间推移平均响应延时趋势图,记录客户端发送请求完成后,服务器端返回请求之前这段时间
- Connect Time Over Time:随着时间推移的连接时间
throughput:
- hits per second:每秒点击率
- codes per second:每秒状态码数量
- Transactions per second:每秒事务量
- total transactions per second:每秒所有事务量
- Response Time Vs Request: 响应时间点请求的 成功/失败 数
- Latency Vs Request: 延迟时间点请求的 成功/失败 数
response time:
- Response Time Percentiles: 响应时间百分比
- Active Threads Over Time: 随着时间推移活跃线程数
- Time Vs Threads: 测试过程中的线程数时续图
- Response Time Distribution: 响应时间分布
“吞吐量:用单位时间内系统处理请求的数量定义。
衡量方法有三种:
请求数 / 单位时间
点击数 / 单位时间
字节数 / 单位时间
测试过程中要注意:
1. 是否有缓存(类似查询接口压测,可以针对缓存有无分别压测)
2. 瓶颈处持续压测,测试系统稳定性
3. 和线上真实的一模一样的环境配置