性能测试总结-jmeter经验总结1-混合场景业务比例精准控制


平时测试中经常会遇到需要测试混合场景的压测需求,那么混合场景如何去实现精准控制业务比例呢,网上有许多方法,其中一个比例控制最准确,干货如下:

  • 线程组结构如下:
    _

  • 添加逻辑控制器(说明 本人使用的 jmeter版本为5.0)
    第一个逻辑里面的条件 填写 {__jexl3({__jexl3({__counter(true,)}%10!=0,)}

_
第二个逻辑里面的条件填写 {__jexl3({__jexl3({__counter(true,)}%10==0,)}

_

  • 执行原理分析
    线程组里的每个线程,会生成一个类似java里的iterator的迭代器,第一次迭代iterator值为1

如上所设置的条件,为1时满足第一个逻辑,此时执行逻辑1里的sampler,第二次迭代iterator值为2,同样满足逻辑1
类推...
第十次迭代iterator值为10,满足逻辑2,执行逻辑2里的sampler
以上实现精准控制9:1 的比例


  • 题外 3:1:1如何实现(以图为准,展示不了如图效果,我姿势不对???)?
    _

{__jexl3(${__counter(true,)}%5==0,)}{__jexl3(${__counter(true,)}%5==0,)}{__jexl3({__counter(true,)}%5==1,)}{__counter(true,)}%5==1,)}{__jexl3(${__counter(true,)}%5>1,)}


  • 其他
    表达式支持:
                         ==         是否等于,如${__jexl3(${VAR}==1,)},判断${VAR}变量是否等于1 !=  不等于,如${__jexl3(${VAR}!=1,)},判断${VAR}变量是否不等于1 !  非,如${__jexl3(!(${VAR}!=1),)}对${VAR}!=1的结果取反 &&或||   且与或,如 ${__jexl3(${VAR}==1 && ${name} != "heima",)} > 或者>== 大于等于,如${__jexl3(${count}>=10,)}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM