1 引言
在真实项目中,用Jmeter做性能测试,可能很少会用Add-> Threads-> Thread Group;因为这个Thread Group太简化了,适合练习使用。
我们经常会用到下面的
jp@gc - Stepping Thread Group
jp@gc - Ultimate Thread Group

2 检查和安装插件
你下载Jmeter后,先检查一下有没有这两种加载模式,如果没有就需要安装插件了,插件安装也很简单。
从官方网站: Install :: JMeter-Plugins.org, 下载安装 JMeter Plugins Manager。
Download plugins-manager.jar and put it into lib/ext directory, then restart JMeter.
根据上面的提示,把插件的jar包放到Jmeter安装路径的lib/ext下面即可。
安装 JMeter Plugins Manager 后,点击 “Options” > “Plugins Manager” 打开插件管理器,其他的插件都可以在这里进行管理。

定位到Available Plugins里找到需要安装的插件,比如勾选Custom Thread Groups,然后点击右下角的“Apply Changes and Restart Jmeter”,插件安装即可完成。

3 创建自定义的Thread Group
自定义的线程组安装完成后,我们就可以新建自定义的线程组场景了。
3.1 Stepping Thread Group -- 阶梯线程组

3.1.1 在取样器错误后要执行的动作
继续 -- 线程不退出,不打断当前循环;
启动下一进程循环 -- 终止当前循环里剩下的采样器,开始下一个线程循环;
举例:当前下单接口失败,后面的支付和查询就没必要跑了;直接下一轮登录和下单操作;
停止线程 -- 停止当前线程,其他线程不受影响;
停止测试 -- 优雅地停止测试,即完成线程当前正在执行的任务再停止整个测试;
立即停止测试 -- 立马中断所有正在进行的测试任务。
3.1.2 Threads Scheduling Parameters 常用参数解释
1 This group will start 100 threads -- 即定义100个并发线程;
2 Next, add 20 threads every 1 second -- 每隔1秒启动20个并发,即5秒内启动100个;
3 Using ramp-up 5 seconds -- 即让并发用户慢慢增长,结合上面就是在5秒内加载20个用户。 所以,加载到100个用户用时25秒+4个1秒=29秒。
4 Then hold load for 60 seconds -- 即达到并发用户数后,真正执行测试的时间间隔;
5 Finally stop 5 threads every 1 second -- 测试结束,释放并发用户的策略。
3.2 Ultimate Thread Group -- 终极线程组
点击“Add Row”,添加具体的线程组计划;也可以添加多行row构造复杂并发场景。

3.2.1 在取样器错误后要执行的动作 -- 同 3.1.1
3.2.2 Theads Schedule -- 线程计划
Start Threads Count -- 最终要达到的并发线程(虚拟用户)数;
Initial Delay -- 测试开始到开始创建线程的等待时间;
Startup Time -- 线程从0均匀的增长到设置的并发线程数的时间;
Hold Load For -- 测试的执行时间;
Shutdown Time -- 测试结束并发线程释放时间;
进阶版并发场景设计:
3.2.3 阶梯 -- 按时间段递增并发用户数
添加3行计划,如下图:
最开始100用户;隔一段时间开启200用户;同样可以增加到300或500用户。

3.2.4 脉冲 -- 每10分钟一波1000并发的脉冲场景
添加3行计划,如下图:
初始并发用户均为500;每隔10分钟时间开启一波脉冲式并发;一共3次。

3.2.5 波浪 -- 类似正弦起伏
波浪并发场景1:
添加两行;
并发用户均为500;150秒加载到500峰值(浪尖);随后150秒释放500用户;间隔一段时间重复下一次波浪;一共2次。

波浪并发场景2:
添加三行;
第一行是100并发用户打底;
然后150秒加载到600峰值(浪尖);随后150秒释放500用户,又回到100用户;
间隔一段时间重复下一次波浪;一共2次;
整个过程至少有100并发用户在执行任务。

4 匹配真实业务场景
是不是上面这些复杂并发场景还挺有意思的,一般都是根据实际业务模式可以构造各种相应的并发场景。
4.1 阶梯递增业务场景
电商大促前一周,每晚用200-500-1k-2k-5k,逐步加压,获取性能拐点和发现系统问题;
银行和证券公司,上午9:30股票、基金交易开始逐步活跃,也可以使用次并发场景;
4.2 脉冲式业务场景
电商秒杀:22:00点100万人抢1000部手机;
12306春运火车票:8:00点或者下午3:00瞬间涌入百万级别的并发;
还有各大短视频平台的红包雨;
新游戏上线开服等等
4.3 波浪式业务场景
短视频和直播业务,晚上7点到11点,波峰100K,周期24小时;
证券基金业务:上午9:30~11:30;下午1:00~3:00; 两个正弦波峰(200--600--200)
外卖平台:中午和晚上吃饭高峰期也是类似;当然也类似脉冲业务
——————————————The End ——————————————————
欢迎关注大滨,坐标北京、天津:
18+软件开发测试经验;前8年银行系统(中行、民生、农行)功能、性能和自动化测试,尤其是性能测试;后10年存储行业(CA, Dell-EMC)自动化和性能测试。
也欢迎大家点赞关注我的微信公众号:大滨读书健身(全网同名)
会分享读书、健身、投资和个人成长等心得体会,人生除了代码还有生活,与君同行!
-1
1935

被折叠的 条评论
为什么被折叠?



