如何控制混合场景的占比

简介: 实际案例

引言:

综合场景执行的最终比例决定着性能测试结果的有效性。


Throughput Contoller,直译是吞吐量控制器,它是用来控制该控制器下面元件的执行次数,与控制吞吐量的功能无关。(注:用Constant Throughput Timer可以控制吞吐量,不建议使用此插件去控制综合场景比例)

Throughput Contoller有两种模式:Total ExecutionsPercent Executions。


参数说明如下:

  • Total Executions:按吞吐量值来指定执行次数。选择此模式,吞吐量值的单位为“次”。
  • Percent Executions:按百分比来指定执行次数。选择此模式,吞吐量值的单位为“%”。

上面说的两个指标从字面上很好理解,那勾选的per user是啥意思呢,我们可以做一些实验研究下:

首先使用percent模式进行实验:

场景设计如下,所有模式都设置20线程,迭代100次,throughput设置分为A(10%),B(90%)两个大模块,其中A下的两个接口A1(10%),A2(90%),B下的两个接口B1(10%),B2(90%),不勾选per user,结果如下:


label

samples

throughput

A1

20

14.6

A2

180

109

B1

179

107.7

B2

1620

940.8

再看勾选的结果:


label

samples

throughput

A1

20

19.7

A2

180

109.6

B1

180

109.7

B2

1620

937.5

可以说各项指标非常接近,我认为在percent模式下,vuser是否对结果无影响!

再看excutions模式,勾选per user:


label

samples

throughput

A1

200

137.1

A2

200

137.9

B1

200

138.2

B2

1800

865.4

不勾选per user:


label

samples

throughput

A1

10

55.6

A2

10

56.8

B1

59

70

B2

90

107.9

这么来看,差异就非常明显了

分析数据,得出结论:

  • 当勾选Per User时:
  1. 线程数*循环次数>=线程数*吞吐量时,Total Executions模式的执行次数=线程数*吞吐量。
  2. 当线程数*循环次数<线程数*吞吐量时,Total Executions模式的执行次数=当线程数*循环次数。
  • 当不勾选Per User时:
  1. 线程数*循环次数<=吞吐量时,Total Executions模式的执行次数=线程数*循环次数。
  2. 当线程数*循环次数>吞吐量时,Total Executions模式的执行次数=吞吐量。


第二种模式其实蛮绕的,我么绝大数情况下,第一种模式即可!

补充一点,jmeter的插件都是有性能损耗的,在我的试验下,该插件也存在10%左右的性能损耗,一些网上的帖子有通过随机算法控制区间来间接去控制综合场景的比例,虽然理论上没有问题,但大家也可自行去评估下性能损耗。

目录
相关文章
|
3月前
802.11a标准的频率范围是多少?
【8月更文挑战第24天】
63 0
|
数据处理 C++ 计算机视觉
C++-掩膜外数据填补(边缘扩展法)
C++-掩膜外数据填补(边缘扩展法)
动态优化解决方案空间中的最小支持(Matlab代码实现)
动态优化解决方案空间中的最小支持(Matlab代码实现)
|
传感器 芯片
模拟量与数字量区别
模拟量与数字量区别
194 0
|
机器学习/深度学习 存储 人工智能
边缘AI新方法TinyML,超低功耗,存储占用KB计,在边缘设备上进行机器学习
在资源受限设备上运行机器学习模型的能力为许多新的可能性打开了大门。AI 的发展可能使标准机器学习更加节能,有助于减少人们对数据科学影响环境的担忧。此外,TinyML 允许嵌入式设备被赋予基于数据驱动算法的新智能,这些算法可以用于从预防性维护到森林中的鸟叫声检测等任何方面。
边缘AI新方法TinyML,超低功耗,存储占用KB计,在边缘设备上进行机器学习
|
存储 SQL 缓存
关于无限级功能的实现与优化
关于无限级功能的实现与优化
325 0
关于无限级功能的实现与优化
|
存储 机器学习/深度学习 自然语言处理
【算法的特性,标准,时间维度空间维度计算方式】
【算法的特性,标准,时间维度空间维度计算方式】
285 0
【算法的特性,标准,时间维度空间维度计算方式】
|
编解码 区块链
Google Earth Engine——WWF河流流量累积数据集定义了排入每个单元的上游区域的数量(以单元数计)。排水方向层被用来定义哪些小区流入目标小区。累积单元的数量本质上是对上游集水区的测量。
Google Earth Engine——WWF河流流量累积数据集定义了排入每个单元的上游区域的数量(以单元数计)。排水方向层被用来定义哪些小区流入目标小区。累积单元的数量本质上是对上游集水区的测量。
131 0
Google Earth Engine——WWF河流流量累积数据集定义了排入每个单元的上游区域的数量(以单元数计)。排水方向层被用来定义哪些小区流入目标小区。累积单元的数量本质上是对上游集水区的测量。
组装工具汇总(占坑用)
MaSuRCA: 混合组装工具 适用于二代和三代混合组装,也可以就只装二代数据。 官方提示:使用原始数据,不做任何的预处理,任何trimming, cleaning和error correction操作都会影响组装的结果。
969 0