博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JMeter性能测试中控制业务比例
阅读量:7164 次
发布时间:2019-06-29

本文共 679 字,大约阅读时间需要 2 分钟。

性能测试混合场景中,我们需要组合多个业务操作到场景中来。

比如有一个论坛的业务分布如下:
发布新帖与回复帖子的比例为2:3,
那么我们在JMeter测试计划中如何控制其比例呢?

 

可以通过以下两种方式解决:

多线程组方式

逻辑控制器控制

多线程组方式:

JMeter是用线程组来模拟虚拟用户的,JMeter支持一个计划中多个线程组。

利用这个特性我们可以把发布新帖业务放在一个线程组中,回帖业务放在另外一个线程组中。
通过控制线程数来达到需求的业务量的比例关系。

回帖线程组,添加90个线程;

发布新帖线程组,添加60个线程,刚好是3:2。

但,,,这只能是近似的,如果这两个事务的响应时间不一样,最终完成的业务数比例也会不一样。

当前线程数是在假定两个业务的响应时间一样的情况下,所以这完全是理想状况。
所以,这种方式控制并不完美。

 

控制器控制:

如果(If)控制器可以使用表达式来做为条件,这样我们可以获取迭代次数来决定

是回帖还是发新帖,比如一共3次迭代,第1次与第3次迭代时发新帖,1,2,3次迭代都会进行回帖

 

JMeter函数助手提供了一个“__counter”函数,可以用来获取当前的迭代次数。

如何保持3:2的比例呢?

${__counter(true,)}%2==1||${__counter(true,)}%3==0

 

上面__counter(true,)是获取当前迭代次数,%是取余,也就是除2余1与3整除时执行发新帖。
以9次迭代为例,回帖9次,1,3,5,6,7,9 次迭代时都会发新帖,回帖刚好是6次
9:6=3:2
3:2的比例达到。

转载地址:http://aomwm.baihongyu.com/

你可能感兴趣的文章
Java Web从入门到精通
查看>>
keepalived 双机笔记
查看>>
实体店组装电脑需要注意的事
查看>>
四则运算2及PSP0设计项目计划
查看>>
20160408-PHP实现简单的日历表
查看>>
lightswitch 添加 TreeView 控件
查看>>
【51CTO学院三周年】跟老段学RHCE有感
查看>>
python read() readline() readlines() write() writelines()方法总结与区别
查看>>
linux中的NFS服务器配置及/etc/exports
查看>>
兴科学习
查看>>
anaconda
查看>>
你应该这样写”年度总结“
查看>>
我的友情链接
查看>>
poj 1850 code
查看>>
我的友情链接
查看>>
ASP.NET WebApi 基于OAuth2.0实现Token签名认证
查看>>
MR程序的几种提交运行模式
查看>>
下拉框树形
查看>>
mysql自动备份脚本
查看>>
VMware中安装RHEL 7.1后出现锁屏的解决方法
查看>>