Jmeter 混合场景压力测试

        性能测试中,经常需要对多个接口按一定比例分配来模拟真实的业务场景,即混合场景压力测试。比如金融产品购买的场景中,用户登录之后,购买理财产品,查看交易记录,查看持仓和收益的比例为2:3:4,在使用Jmeter测试工具进行压力测试时,如何控制其比例呢?

        一般来说,可以采用多线程组的方式,通过在一个测试计划中建立多个线程组,通过控制每个线程组的线程数比例来达到比例控制的目的。这种测试方法的前提是假定一个混合压力测试场景中每个接口的响应都一样,而一般情况下每个接口的响应时间都不一致,使用这种方法来控制比例很不理想。

        下面介绍一种通过IF逻辑控制来控制混合压力测试中接口比例的方法。

        思路:通过IF逻辑控制器的if表达式来控制比例,简要的代码如下:

{

num=__counter(true,);//__counter函数,可以用来获取当前的迭代次数

if(num%9<2)//控制比例为2/9

{

createFinanceOrder();

}

if(num%9>=2&&num%9<=4)//控制比例为3/9

{

queryFinanceProductOrderList();

}

if(num%9<>4)//控制比例为4/9

{

queryPositionPincome();

}

        Jmeter脚本实现方法:在采样器的上一级添加“逻辑控制器”->“如果(If)控制器”,如下图所示:

        金融产品购买业务比例,通过添加if逻辑条件:${__counter(true,)}%9<2进行比例控制在22%,即业务比例占整个业务场景的2/9,如下图所示:

        交易记录查询业务比例,通过添加if逻辑条件:${__counter(true,)}%9<=4&&${__counter(true,)}%9>=2进行比例控制在33%,即业务比例占整个业务场景的3/9,如下图所示:

        金融产品购买业务比例,通过添加if逻辑条件:${__counter(true,)}%9>4进行比例控制在44%,即业务比例占整个业务场景的4/9,如下图所示:

        通过在采样器上添加以上三个if逻辑控制器的比例控制,从而达到三种不同业务在整个业务上的比例为2/9:3/9:4/9即:2:3:4。

        压测结果如下:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,107评论 19 139
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,357评论 0 33
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,320评论 18 399
  • 性能测试混合场景中,我们需要组合多个业务操作到场景中来。 比如有一个论坛的业务分布如下: 开新帖与回复帖子的比例为...
    人生_0809阅读 5,386评论 1 1
  • 犹记得小时候我家里的大花猫总是会发出呼噜呼噜的声音。当时我就很好奇,猫咪为什么为会这样呢?呼噜呼噜的声音背后到底传...
    好睐鼠阅读 4,629评论 0 0

友情链接更多精彩内容