环境搭建篇见https://blog.csdn.net/weixin_42498050/article/details/12847945
参考Jmter压测使用实践
jmeter压测实战总结
搭建 Apache Jmeter 分布式压测与监控
Jmeter常用断言
1. 添加线程组
测试计划 (右键->添加->Threads(Users)->线程组),修改线程组名称为“线程组-平安银行”
可添加多个线程组,设置线程数
Ramp-Up Period(in seconds)间隔多长时间执行
循环次数:总请求数=线程数*循环次数
勾选调度器设置持续时间
新建一个线程组,三个参数比较重要,线程数-》代表多少个并发,Ramp-up->指定时间内发送完成,循环测试->循环几次线程
2. 右键线程组,添加->配置元件->如图所示这个三个基本上能用到,基本好理解
HTTP信息头管理器,要填写如下内容 否则接口返回415
header = {
"Content-Type": "application/json",
"Accept": "application/json, text/plain, */*"
}
3. 怎么保持用session存储用户登录状态的方法,去浏览器登录上用户,然后直接复制Request Headers,从剪贴板添加,完事。
4. 添加HTTP请求
根据具体接口选择类型:get post put delete等
5. 响应断言,判断某些返回值
json断言
5. 添加查看结果树 查看聚合报告 分析报告
聚合报告
聚合报告中各名词说明:
Samples:一共发出的请求数;
Average:平均响应时间;
Median:统计意义上的响应时间中值;
90% line:所有线程中90%的线程响应时间都小于xx的值;
Min:响应最小时间;
Max:响应最大时间;
Error: 测试出现的错误请求数量百分比。若出现错误就要看服务端的日志,配合开发查找定位原因;
Throughput:简称tps,吞吐量,默认情况下表示每秒处理的请求数,也就是指服务器处理能力,tps越高说明服务器处理能力越好
启动、关闭,这里的启动会把下面所有的http请求进行测试,要想单个测试,要么继续建分组,要么禁用其他请求,只保留一个。
还有个问题,需要查看tps折线图什么的,需要增加插件apache-jmeter-5.5\extras\JMeterPlugins-Standard.jar
6. 测试结果分析
1、有错误率同开发确认,确定是否允许错误的发生或者错误率允许在多大的范围内;
2、Throughput吞吐量每秒请求的数大于并发数,则可以慢慢的往上面增加;若在压测的机器性能很好的情况下,出现吞吐量小于并发数,说明并发数不能再增加了,可以慢慢的往下减,找到最佳的并发数;
3、压测结束,登陆相应的web服务器查看CPU等性能指标,进行数据的分析;
4、最大的tps:不断的增加并发数,加到tps达到一定值开始出现下降,那么那个值就是最大的tps。
5、最大的并发数:最大的并发数和最大的tps是不同的概率,一般不断增加并发数,达到一个值后,服务器出现请求超时,则可认为该值为最大的并发数。
6、压测过程出现性能瓶颈,若压力机任务管理器查看到的cpu、网络和cpu都正常,未达到90%以上,则可以说明服务器有问题,压力机没有问题。