性能测试总结-jmeter经验总结1-混合场景业务比例精准控制-阿里云开发者社区

开发者社区> 开发与运维> 正文

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

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

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

  • 线程组结构如下:
    _

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

_
第二个逻辑里面的条件填写 ${__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==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,)}
                多条件实例:
                      ${__jexl3(${__counter(false,)}%10000>9887 && ${__counter(false,)}%10000<=9999,)}

注意:多条件实例时,不要勾选 evaluate for all children,可能会导致不精准
image

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章