JMeter动态线程组和动态吞吐量

本文详细介绍了JMeter中动态线程组与动态吞吐量控制的技术,包括DynamicThread动态线程组、BeanShell Server改变运行参数、JMeter动态吞吐量控制以及如何在多个线程组中动态调整TPS。通过动态线程技术和BeanShell Server,实现了在压测过程中随时调整参数,以应对不同压力需求,避免了长时间的压测重跑。文章还探讨了动态并发线程数调整的方法,并强调了性能测试中TPS作为核心指标的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说到JMeter的动态线程组和动态吞吐量技术时,这里会有一些误解,很多人会理解成动态参数,比如通过NonGui命令模式传参,就是一种动态传入参数的技术:

jmeter -JthreadCount=50 -JDurationTime=100 -n -t F:\TestScript\test.jmx -l F:\TestReport\test\api.jtl -e -o F:\TestReport\testHtml

这是的-J开头表示传入参数,传入的是线程数threadCount和压测时间DurationTime两个参数,这种方式不叫动态线程技术,只能叫动态传入参数进行压测,每次压测参数可能不一样,但是在压测的过程中这个参数是固定没法动态改变的。而我们所说的动态线程技术,是指创建动态的线程组,在测试计划运行过程中(压测不停止),线程组是可以任意改变参数变量的,比如上面的线程数和压测时间,甚至吞吐量都可以在压测过程中任意改变。需要说明的是,这种技术在JMeter原生的线程组ThreadGroup是没有的,只有在第三方线程组(blazemeter线程组)bzm - Arrivals Thread Group和bzm - Concurrency Thread Group。

可能会有人说,为什么要在压测过程中改变参数,大家可以想像一下,如果我们的压测任务是压4小时(稳定性测试场景),当我们压到2小时的时候,发现压力不够(或是压力太大,快崩溃),这时候该怎么办,一个办法就是停止压测,改变压力参数值后重新启动测试,这看似很正常的一个操作,但问题是我们可能又要压4小时,最后我们就变成花了6小时去压测(更要命的是我们可能还要初始化一遍数据库,清掉刚刚压测的数据),

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

smooth00

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值