jmeter(八)-逻辑控制器-1

2021-06-15  本文已影响0人  足__迹

jmeter中逻辑控制器(Logic Controllers)的作用域只对其子节点的sampler有效,作用是控制采样器的执行顺序。
jmeter提供了17种逻辑控制器,它们各个功能都不尽相同,大概可以分为2种使用类型:

临界区控制器

作用:临界区控制器确保其子节点下的取样器或控制器将被执行(只有一个线程作为一个锁)


image.png

线程组设置并发数100或循环次数100次,临界区控制器下的采样器,是按照顺序执行的,可见此控制器的作用


image.png
遍历循环控制器

作用:用来遍历当前元素的所有可执行场景;在用户自定义变量中读取一系列相关的变量,该控制器下的采样器或控制器都会被执行一次或多次,每次读取不同的变量值


image.png
包含控制器

作用:用于引用外部的Jmx文件;从而控制多个测试计划组合


image.png

包括控制器只能引用“测试片段”下的内容
当使用包含控制器中包含相同的JMX文件,则要确保文件名不同,以避免无法读取

生命周期/运行周期控制器

作用:用于控制该控制器下的取样器/控制器的运行时间


image.png
转换控制器
image.png
当/判断控制器

作用:运行其子节点下的取样器/控制器,直到条件为“假”


image.png
事务控制器

作用:生成一个额外的采样器来测量其下测试元素的总体时间;值得注意的是,这个时间包含该控制器范围内的所有处理时间,而不仅仅是采样器的
性能测试:的结果统计时我们一定会关注TPS,TPS代表的是每秒事务数,每个事务对应的是我们的请求。虽然JMeter能够帮我们把每个请求统计成一个事务,但有时候我们希望把多个操作统计成一个事务,JMeter也考虑到了这种需求,我们可以用个逻辑控制器中的事务控制器来完成

image.png

1,生成的事务采样器的测量的时间包括其下采样器以及其他的一切时间
2,由于时钟频率问题,这个时间可能略大于单个采样器的时间之和(时钟开始时间介于控制器记录开始时间与第一个采样器开始之间,时钟结束时间亦然)
3,事务采样器只有在其子采样器都成功的情况下才显示成功
4,在父模式下,事务控制器下的各个采样器只有在结果树里才能看到;同时,子采样器的数据也不会在CSV文件中显示,但是在XML文件中可以看到

交替控制器

作用: 交替控制,使得该控制器包含的取样器步骤交错执行在每个循环中


image.png

忽略子控制器模块(Ignore sub-contorller blocks):如果勾选此项,交错控制器将sub-controllers像单一请求元素一样,一次只允许一个请求/控制器
勾选前:


勾选前.png
勾选后:
勾选后.png
仅一次控制器

作用:在多线程循环的时候,将使其子节点下的取样器请求只运行一次


image.png

例如:


image.png
吞吐量控制器

作用:jmeter自带的翻译这里是错误的,因为它并不能控制吞吐量(吞吐量的概念请自行百度);其实质作用是允许用户控制执行的频率


image.png
总共有两种执行模式:百分比执行和总执行

实际场景:
需求: A,B 两个用户进行系统操作。A用户操作2次。B用户操作5次


image.png
image.png
image.png
上一篇 下一篇

猜你喜欢

热点阅读