jmeter 不同场景 比例_在JMeter测试中如何根据业务场景来控制运行比例
性能测试混合场景中,我们需要组合多个业务操作到场景中来。
比如有一个论坛的业务分布如下:
开新帖与回复帖子的比例为2:3,
那么我们在JMeter测试计划中如何控制其比例呢?
下面我们介绍两种方式:
1.多线程组方式
2.逻辑控制器控制
多线程组方式:
我们知道JMeter是用线程组来模拟虚拟用户的,JMeter还可以支持一个计划中多个线程组。
利用这个特性我们可以把开新帖业务放在一个线程组中,回帖业务放在另外一个线程组中。
为了制造出业务量的比例关系,我们通过控制线程数来达到效果。如下图:
ReplayTopic为回帖线程组,添加4个线程;
SendTopic为开新帖线程组,添加1个线程,刚好是4:1
当然,这只能是近似的,如果这两个事务的响应时间不一样,最终完成的业务数比例也会不一样。
当前线程数是在假定两个业务的响应时间一样的情况下,所以这完全是理想状况。
可以看出,这种方式控制并不完美。
下面我们用第2种方式:
控制器控制
下图是一个IF控制器,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的比例。
jmeter 不同场景 比例_在JMeter测试中如何根据业务场景来控制运行比例相关推荐
- 数据查询和业务流分开_索格非SOGEFI:EDI 业务场景详解之生成DESADV
上文我们讲解了索格非(SOGEFI)的EDI项目需求和DELFOR(物料需求计划)的业务场景,现在从相反的业务角度,详细介绍一下供应商生成并回复DESADV(发货通知)的业务场景. 扩展阅读: &qu ...
- idea使用junit测试_在JUnit测试中使用Builder模式
idea使用junit测试 这并不是要成为技术含量很高的职位. 这篇文章的目的是为您提供一些指导,以使您的JUnit测试生活更加轻松,使您能够在几分钟内编写复杂的测试场景,并获得具有高度可读性的测试. ...
- cdn与gnd接地_浪涌测试中通讯端口TVS管损坏机理分析
1.引言 独学而无友,则孤陋而寡闻. 本文以测试中通讯端口防护器件损坏为例,进行损坏机理分析.不同测试方法带来的影响分析.不同应用场景的测试方法选择,以及SURGE防护设计中的注意点等内容进行分析说明 ...
- sql 注射_只能在测试中注射吗?
sql 注射 本文是关于测试设计和可测试性的一些想法. 我们与我的儿子讨论了一些问题,他的儿子是Java的初级开发人员,目前在匈牙利的EPAM(我工作的同一家公司,但在另一家公司工作)受雇并学习. 本 ...
- 注射器视觉检测_只能在测试中注射吗?
注射器视觉检测 本文是关于测试设计和可测试性的一些想法. 我们与我的儿子讨论了一些问题,他的儿子是Java的初级开发人员,目前在匈牙利的EPAM(我工作的同一家公司,但在另一家子公司)工作和学习. 本 ...
- jmeter 高并发测试报告_使用 JMeter 进行压力测试
原文连接:使用 JMeter 进行压力测试 一.前言 压力测试是每一个Web应用程序上线之前都需要做的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率:预估系统的承载能力 ...
- jmeter提取mysql数据_通过jmeter读取数据库数据,并取值作为请求的入参
为提升测试技能,督促自己学习.故写了这篇文章.测试小白一枚,最近感觉达到了自己认为的瓶颈期.总是有想法,想突破,但是无从入手.工具类用过fiddler.jmeter.charels.postman.. ...
- jmeter 导出聚合报告_使用Jmeter聚合报告生成对比图表
背景 最近在帮别的项目组执行性能测试,使用的工具是Jmeter.接口录制和参数化前一个人已经做好了,我主要的工作就是执行脚本,撰写测试报告.事情并不复杂,可做起来却极为耗时. 首先,由于有6组账号,分 ...
- 队列管理器连接数设置_详解!基于Redis解决业务场景中延迟队列的应用实践,你不得不服啊...
一.业务概述 我们假定设置两个队列,一个队列维护正式工单,另一个队列维护挂起工单.对于挂起操作,我们通过Redis设置key有效时间,当key失效时,客户端监听失效事件,获取工单,实现 挂起工单队列的 ...
最新文章
- 你以为的BUG--BFC给你解决!
- 程序员大佬的简历和普通程序员有啥区别?
- 【期望】【高斯消元】图上游走(金牌导航 期望-6)
- mysql error 变量_mysql 变量问题
- switchpreference 事件_Vue 3 自定义事件
- TikTok 与 Oracle 的交易将开创两个危险的先例
- 《构建之法》第4章读后感
- 代码检查工具 Sonar 安装使用
- adb命令从手机端复制数据库文件到PC
- aut0cad2010卸载工具_解决软件注册表卸载不干净导致的autocad2010无法安装问题。...
- pycharm搜索不到安装包
- 使用.net进行视频格式转换
- linux命令行大于号、小于号、双大于号、双小于号
- app提交到iTunes失败
- 周伟焜挥别IBM 一个时代结束
- python绘制简单彩虹图_python绘制简单彩虹图
- does not specify a Swift version and none of the targets (`packager`) integrating it have the `SWIFT
- 通信科技人员职业道德
- 谱聚类(Spectral Clustering)算法介绍
- 8K视频处理和工作原理,8K视频处理分析