jmeter 场景设计/报告分析
一、场景设计
1.线程属性设置
线程数:一般单台电脑,线程数在1000以内。太多的话产生不了所有的用户
时间:100以内并发设置1秒左右;500以内并发用户设置3秒左右;1000以内并发设置5秒左右
循环次数:1次 。。N次,永远(永远是一直运行下去,常配合调度器使用,调度器设置持续运行时间)
一般测试性能时,不设置循环次数,而是用永远+持续时间
2.阶梯式场景设计(jp@gc-Stepping Thread Group)
下载plugins-manager.jar:
-
下载 plugins-manager.jar https://jmeter-plugins.org/install/Install/
-
放到lib/ext目录下, 然后重新启动JMeter
安装jpgc插件:
-
进入选项-->plugins-manager
-
弹窗中选择available plugins页签,选择jpgc.**插件
-
点击右下角的apply changers and restart Jmeter
This group will start Max threads - 设置单台负载机,线程组启动的线程总数为Max个
First,wait for N seconds - 启动第一个线程之前,需要等待N秒
Then start N threads - 设置最开始时启动N个线程
Next add N1 threads every N2 seconds, using ramp-up N3 seconds - 然后,每隔N2秒,在N3秒内启动N1个线程
Then hold load for N seconds - 单台负载机启动的线程总数达到Max之后,持续运行N秒
Finally,stop N1 threads ervery N2 seconds - 最后,每隔N2秒,停止N1个线程数。
3.波浪式场景设计(jp@gc - Ultimate Thread Group)
A.创建线性负载
测试场景:60s内启动100个线程,持续运行60s,花10s的时间结束。
运行后,查看结果。
这里的持续时间,就是要看看系统达到这些负载后,能不能稳定运行,性能会不会恶化?但是这样的话,我们不确定这个负载量是多少,我们不确定服务器能处理的负载量是多少,哪些负载不能处理?
所以,我们要按步骤增加负载,慢慢加上去,这就是我们的步进负载
B.创建步进负载
场景:想看系统的负载量是多少,最大负载多少,是否可以平稳运行。如每分钟增加25个线程,这25个线程启动耗时话费15s,设置如下:
通过以上配置,观察日志和监听器,就可以知道系统在哪个负载下面平稳运行,能承担多大的负载
C.创建波浪负载
场景:12306抢票的时候,每次开放抢票时,有大量用户涌入,等到下次开放时,又有大量用户涌入,这个时候,就像波浪一样,不断敲击服务器,考验服务器的性能
说明:
第一个阶段,花20s的时间,启动25个线程,持续运行60s,用5s的时间停止掉
第二个阶段,第一阶段的线程都停止后,再开始启动第二个阶段的线程,花20s的时间再启动25个线程,再持续60s,用5s停掉
第三个阶段,等第二个线程都结束后,再花20s的时间启动25个线程,持续60s,再停掉
这样像波浪一样拍打服务器,观察服务器的性能,看系统是否能平稳运行。
C、阶梯式加压测试(bzm - Concurrency Thread Group)
jp@gc-Active Treads Over Time :随时间活跃的线程数量
jp@gc-Response Times Over Time :随时间的响应时间
jp@gc-Transactions per Second:TPS服务器每秒处理的事务数
聚合报告
eg:场景设置
jp@gc-Active Treads Over Time :随时间活跃的线程数量
jp@gc-Response Times Over Time :随时间的响应时间,主要作用是在测试脚本执行过程中,监控查看响应时间的实时平均值、整体响应时间走向等。
jp@gc-Transactions per Second:TPS服务器每秒处理的事务数,作用是在测试脚本执行过程中,监控查看服务器的TPS表现————比如整体趋势、实时平均值走向、稳定性等。
聚合报告: