程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

Jmeter(十二)-控制混合场景不同请求占比

balukai 2025-06-23 14:54:47 文章精选 3 ℃

在测试中,发现系统实现不同请求的交易量不同的。我们一般需要进行测试时,模拟使用混合场景。在jmeter中怎么样去控制占比率,也是测试中经常要设计内容。

如:某系统根据调研分析,请求占比情况如下:

请求1 ,占比10%

请求2 ,占比30%

请求3 ,占比55%

请求4 ,占比5%

常用控制占比方式如下3种方式:

(1)使用if控制器

(2)使用吞吐量控制

(3)使用循环控制器

使用if控制器实现

思路:设置一个变量,通过if判断控制,实现不同请求不同占比。

实现方式:

(1) 设置一个(1-100)随机变量组件,配置变量为id。如下

(2)设置4个if控制器进行控制,分析设置不同值范围,控制占比

通过id判断控制,${__jexl3(${id}<=60 and ${id}>=6,)} ,控制为55%

通过id判断控制,${__jexl3(${id}<=1 and ${id}>=5,)} ,控制为5%

通过id判断控制,${__jexl3(${id}<=91 and ${id}>=100,)} ,控制为10%

通过id判断控制,${__jexl3(${id}<=90 and ${id}>=61,)} ,控制为30%

(3)测试结果,如下:

分析测试结果:总请求笔数并没有完全,与设置占比一致;但基本设置值一致,因为使用随机值原因。如果想要完全一致,可以修改随机值为计算器。设置和测试结果如下:

使用吞吐量控制

思路:使用吞吐量控制,配置百比控制交易占比。

(1)添加吞吐量控制

(2)测试结果

使用循环控制器

思路:使用循环控制器,设置循环次数控制交易占比。

(1)循环控制器设置,如下:

(2)测试结果

此种方式,能保证一定时间内是总数据量,符合交易占比。


还有其它方式也也实现:使用不同线程数和固定定时器,控制并发量,也能实现一定时间内交易量占比。

在实际使用建议优化先通过if控制器和吞吐控制器方式,进行不同交易量并发控制。

最近发表
标签列表