jmeter逻辑控制详解(1)
逻辑控制器
Jmeter提供了多种逻辑控制器,下面进行讲解说明:
1、Simple Controller
简单控制器是最基本的控制器,对jmeter测试运行没有任何影响,可以将某些请求归集在一个简单控制器中,视为一个模块,使得脚本结构更清晰。

2、Loop Controller
循环控制器,这个控制器的作用是使其子项循环运行。
循环次数(Loop Count):在输入框中输入需要循环的次数,控制器下的子项会循环相应的次数。如果勾选了【forever】,那么控制器下的子项会一直运行。
这里设置线程数为5 ,循环控制器为3次 ,相乘总共为15次。


3、Once Only Controller
仅一次控制器,会使该控制器下的子项每个线程只运行一次,建立下面的脚本结构并运行:
结果如下:

对上面的脚本进行修改,加入循环控制器,修改线程组【线程数】为2,【循环次数】为2:
运行脚本,结果如下:

可见,【循环控制器】中的【仅一次控制器】依然生效。
4、ForEach Controller
遍历循环控制器,首先看下它的各输入项:


输入变量前缀:输入遍历需要的变量的前缀,图中是a,为什么要写“a”呢?这是因为【用户定义的变量】中变量名称是“a”为前缀的,前缀是指数字前面的内容。当然这个变量还可以来自【正则表达式提取器】、【参数化】等。
Start index for loop:循环开始的变量索引(行数),不填则从0开始,也就是自定义变量中的第一行。
End index for loop:循环结束的变量索引,不包括本身,也就是如果填入3,则执行完2就会结束。
输出变量名称:将读取到的变量放入内存,变量值就是输出变量名称所定义的值(本例是a)。在后面使用这个值时,使用“${输出变量名}“格式就可以了。
Add “_” before number:勾选后,【用户定义的变量】的变量名要写“a_1”格式,不勾选则写成“a1”格式。 HTTP请求按下图写入,来验证ForEach Controller的作用。
运行脚本,发现HTTP请求被执行了三次(end-start的值),${a}依次被赋值a1、a2、a3。

5、Include Controller
包含控制器,它的作用是引入外部的jmx文件。需要注意的有以下几点:
1、引用的jmx文件中,不能包含线程组。
2、当使用包含控制器中包含相同的JMX文件,要避免同名。

6、Transaction controller
事务控制器,生成一个额外的采样器来测量其下测试元素的总体时间;值得注意的是,这个时间包含该控制器范围内的所有处理时间,而不仅仅是采样器的。由于时钟误差,而事务控制器的总体用时可能会稍微大于事务控制器下各个子项用时之和。
它有两个参数项:
1、Generate parent sample:生成父样本(不同的模式选择)
2、include duration of timer and pre-post processors in generated sample:是否包含时间的计时器和前后处理器耗用的时间。
可以看到聚合报告中记录了【事务处理器】的响应用时信息。勾选了【Generate parent sample】后再次运行,我们发现结果树和聚合报告都有了变化,结果树中依然能看到HTTP请求,但已经归集到事务控制器下,而聚合报告中不再显示取样器。
7、Throughput Controller
吞吐量控制器,允许用户自行调整该控制器下的子项的执行频率。
吞吐量控制器有两种模式:
1、Total Executions:当该控制下的子项被执行固定数量后,停止吞吐量控制器。例如下面这个脚本,线程组为2,【循环次数】设为3,运行脚本。
结果如下:


2、Percent Executions:百分比模式,该模式使吞吐量控制器下的子项执行总循环次数的一定比例(在吞吐量中设置该比例),例如下面的脚本。
设置线程组【循环次数】为60,运行后,查看聚合报告,吞吐量控制器下的HTTP请求1执行了30次,也就是(60*50%)次。


未完待。。。。。。
jmeter逻辑控制详解(1)的更多相关文章
- Jmeter(五十三) - 从入门到精通高级篇 - 懒人教你在Linux系统中安装Jmeter(详解教程)
1.简介 我们绝大多数使用的都是Windows操作系统,因此在Windows系统上安装JMeter已经成了家常便饭,而且安装也相对简单,但是服务器为了安全.灵活小巧,特别是前几年的勒索病毒,现在绝大多 ...
- Jmeter 05 JMeter元件详解
1. JMeter 逻辑控制器 Switch条件控制器.While条件控制器.交替控制器.仅一次控制器.随机控制器.随机顺序控制器.条件控制器(如果(if)).循环控制器.录制控制器.ForEach控 ...
- 『动善时』JMeter基础 — 12、JMeter取样器详解:sampler
目录 1.取样器介绍 2.JMeter自带的取样器 3."HTTP请求"为例介绍一下取样器 (1)HTTP Request: (2)Web服务器: (3)HTTP请求: (4)同请 ...
- Jmeter关联详解
关联的概念 从上一步操作中获取需要的值,传递给下一步操作中进行引用,形成自动关联,而不是 每次操作都去手动修改关联的值.常见的场景有SessionID.Session Token值的获取. 正则表达式 ...
- jmeter逻辑控制器详解(2)
逻辑控制器 8.Runtime Controller 运行周期控制器,顾名思义,这是一种设置运行时间的控制器,它的效果就是使该控制器下的子项运行时间为[Runtime]中的数值(单位:s). Runt ...
- jmeter生成html报告详解
Jmeter Dashboard详解 结果面板主要分为Dashboard和Charts两部分.Dashboard对信息进行汇总展示,Charts展示更多详细指标数据. Dashboard Test a ...
- fillder 抓包工具详解
一.安装详解 直接点击.exe可执行文件,一直下一步直到安装完成即可.打开主要为5个部分: 二.安装jmeter插件详解 三.工具详解 3.1:工具条:,可以给指定的请求添加备注信息,在导出后可以查看 ...
- 性能测试之jmeter逻辑控制种类详解一
逻辑控制器介绍 Jmeter逻辑控制可以对元件的执行逻辑进行控制,除Once only Controller仅一次控制器以外,其他控制器都可以可以嵌套其他种类的控制器,下面是jmeter5.3支持的控 ...
- JMeter学习-023-JMeter 命令行(非GUI)模式详解(一)-执行、输出结果及日志、简单分布执行脚本
前文 讲述了JMeter分布式运行脚本,以更好的达到预设的性能测试(并发)场景.同时,在前文的第一章节中也提到了 JMeter 命令行(非GUI)模式,那么此文就继续前文,针对 JMeter 的命令行 ...
随机推荐
- Servlet实现Cookie自动登录,并显示保存的用户信息
转自:https://blog.csdn.net/qq_29612963/article/details/51100565
- 管线命令(Pipe)
管线命令接受|前面传来的stdout,管线示意图如下所示: 管线两个需要注意的地方: 1.管线仅会处理stdout,忽略对stderr的处理 2.管线必须接受前个指令的stdin才是 那么,如果我想接 ...
- mnist 卷积神经网络
# from keras.models import Sequential# from keras.layers.core import Dense,Activation,Flatten #creat ...
- Maven项目jar和war部署
Spring Boot可以打成jar包,也可以打成war包.启动方式类有main函数做为入口,比如:java -jar xxx.jar.Spring Boot默认内置Tomcat服务器,当然也可以将w ...
- SQL查询语句备忘录
有关于SQL查询的相关语句和语法的记录!备忘与复习用 1.SQL多表联合查询 select a.字段1,a.字段2,b,字段2 from 表1 a,表2 b where a.字段1 =b.字段1 2. ...
- java 用RGB生成图片动态命名
import java.awt.Color; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java. ...
- 【JavaScript】包装类
包装类 String().Number().Boolean() String() 可以将基本数据类型的字符串转换为String对象 var string = new String("hell ...
- linux运维、架构之路-Kubernetes集群部署
一.kubernetes介绍 Kubernetes简称K8s,它是一个全新的基于容器技术的分布式架构领先方案.Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部 ...
- 2019年开发App记录
Pod 制作私有库参考 https://www.jianshu.com/p/f903ecf8e882 Pod私有库的升级 改代码部分,到Example文件夹执行pod install ,修改XXX.s ...
- centos搭建lamp环境参考(根据腾讯云实验室)
1.安装MYSQL 使用 yum 安装 MySQL: yum install mysql-server -y 安装完成后,启动 MySQL 服务: service mysqld restart 设置 ...