Jmeter 性能测试从0开始(四) --- Jmeter插件和真正用到的复杂业务场景举例

-1

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)自动化和性能测试。

也欢迎大家点赞关注我的微信公众号:大滨读书健身(全网同名)

会分享读书、健身、投资和个人成长等心得体会,人生除了代码还有生活,与君同行!
 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值