如何控制混合场景的占比

简介: 实际案例

引言:

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


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%左右的性能损耗,一些网上的帖子有通过随机算法控制区间来间接去控制综合场景的比例,虽然理论上没有问题,但大家也可自行去评估下性能损耗。

目录
相关文章
|
6月前
|
运维
查看调整cpu频率及模式
查看调整cpu频率及模式
157 2
|
6月前
|
数据处理 C++ 计算机视觉
C++-掩膜外数据填补(边缘扩展法)
C++-掩膜外数据填补(边缘扩展法)
|
7月前
|
vr&ar 开发工具 图形学
Unity引擎更新收费模式:从收入分成转向游戏安装量,将会有哪些影响呢
Unity引擎更新收费模式:从收入分成转向游戏安装量,将会有哪些影响呢
|
9月前
动态优化解决方案空间中的最小支持(Matlab代码实现)
动态优化解决方案空间中的最小支持(Matlab代码实现)
|
存储 SQL 缓存
关于无限级功能的实现与优化
关于无限级功能的实现与优化
274 0
关于无限级功能的实现与优化
|
存储 固态存储 算法
SSD写放大的优化策略要有统一标准了吗?
写放大WAF是NAND-based SSD寿命消耗的关键参数,WAF越大,寿命消耗越快,越接近1,则寿命消耗越慢,也是最理想的情况。 所以,为了让SSD的WAF写放大系数接近1,这些年,各种方案也被提出来。
|
存储 机器学习/深度学习 自然语言处理
【算法的特性,标准,时间维度空间维度计算方式】
【算法的特性,标准,时间维度空间维度计算方式】
227 0
【算法的特性,标准,时间维度空间维度计算方式】
|
编解码 区块链
Google Earth Engine——WWF河流流量累积数据集定义了排入每个单元的上游区域的数量(以单元数计)。排水方向层被用来定义哪些小区流入目标小区。累积单元的数量本质上是对上游集水区的测量。
Google Earth Engine——WWF河流流量累积数据集定义了排入每个单元的上游区域的数量(以单元数计)。排水方向层被用来定义哪些小区流入目标小区。累积单元的数量本质上是对上游集水区的测量。
110 0
Google Earth Engine——WWF河流流量累积数据集定义了排入每个单元的上游区域的数量(以单元数计)。排水方向层被用来定义哪些小区流入目标小区。累积单元的数量本质上是对上游集水区的测量。

热门文章

最新文章