当前位置: 首页 > article >正文

Jmeter逻辑控制器、定时器

目录

一、Jmeter逻辑控制器

①IF(如果)控制器

作用:

位置:

参数介绍:

步骤:

②循环控制器

作用:

位置:

步骤:

线程组属性VS循环控制器

③ForEach控制器

作用:

位置:

参数介绍:

步骤:

二、定时器 

①同步定时器:

位置:

参数介绍:

步骤:

②常数吞吐量定时器

作用:

位置:

参数介绍:

步骤:


一、Jmeter逻辑控制器

逻辑控制器:可以按照设定的逻辑控制取样器的执行顺序

常见的:IF控制器、循环控制器、ForEach控制器

①IF(如果)控制器

作用:

        IF控制器用于控制它下面的测试元素是否运行

位置:

        测试计划 -> 线程组 -> 逻辑控制器 -> IF(如果)控制器 

参数介绍:

        JS语法形式、函数形式        

        

步骤:

        1.添加线程组

        2.用户定义的变量

        3.添加IF控制器,判断name是否等于baidu

                不勾选Interpret Condition,'${name}' == 'baidu'

                勾选,${_jexl3('${name}' == 'baidu',)}

        4.添加HTTP请求,访问百度

        5.添加IF控制器,判断name是否等于itcast

        6.添加HTTP请求,用来访问itcast

        7.添加查询结果树

②循环控制器

作用:

        通过设置循环次数来实现循环发送请求

位置:

        测试计划 -> 线程组 -> 逻辑控制器 -> 循环控制器

步骤:

        1.添加线程组

        2.添加循环控制器—设置循环次数

        3.添加HTTP请求

        4.添加查询结果树

线程组属性VS循环控制器

不同点:线程组的循环次数对线程组下的所有HTTP请求有效

            循环控制器的循环次数对子节点下的HTTP请求有效

关联:假设循环控制器设置M次,线程组属性中设置N次

           循环控制器下的请求运行:N*M

           线程组下,非循环控制器下的请求运行N次

③ForEach控制器

作用:

        一般和用户自定义变量/正则表达式提取器一起使用,读取返回结果中一系列相关变量值。该控制器下的取样器都会执行一次/多次,每次读取不同的变量值。

位置:

        测试计划 -> 线程组 -> 逻辑控制器 -> ForEach控制器 

参数介绍:

        

        输入变量前缀:要读取的输入变量的固定前缀

        开始循环字段:要读取的输入变量后缀数字的最小值-1

        结束循环字段:要读取的输入变量后缀数字的最大值

        输出变量名称:读取输入变量的值后保存的新变量名,用于后续HTTP请求来引用。

步骤:

一、与用户定义的变量配合使用:

        1.添加线程组

        2.添加用户定义的变量    命名规则:前缀_编号

        3.添加ForEach控制器

        4.添加HTTP请求—百度

        5.添加查看结果树

二、与正则表达式配合使用

        1.添加线程组

        2.添加HTTP请求1-itcast

        3.在HTTP请求1下,添加正则表达式提取器,提取出所有的地址信息

    

二、定时器 

①同步定时器:

        阻塞线程(累积一定的请求),当在规定的时间内达到一定的线程数量。这些线程会在同一个时间点一起释放,瞬间产生很大的压力。

位置:

        测试计划 -> 线程组 -> 定时器 -> 同步定时器

        

参数介绍:

        

        模拟用户组的数量:模拟用户的数量,即指定同时释放的线程数数量,若设置为0,等于设置为线程组中的线程数量。若设置为0,等于设置为线程组中的线程数量。

        超过时间以毫秒为单位:超时时间,即超时多少毫秒后同时释放指定的线程数。

             · 如果设置为0,该定时器将会等待线程数达到了设置的线程数才释放,若没有达到设置的线程数会一直死等。

             · 如果大于0,那么如果超过超时时间中设置的最大等待时间后还没有达到设置的等待数,Timer将不再等待,释放已到达的线程,默认为0.

步骤:

        1.添加线程组,设置线程数为n

        2.添加HTTP请求

        3.添加同步定时器        

                设置并发线程数:同时发送请求的虚拟用户数

                设置超时时间:建立设置,并不能设置大小

        4.添加查看结果树

        5.添加监听器—聚合报告

②常数吞吐量定时器

        稳定测试时,要求模拟用户真实的业务场景

作用:

        让Jmeter按指定的吞吐量来执行,以分钟为单位

位置:

        测试计划 -> 线程组 -> HTTP请求 -> 定时器 -> Constant Throughput Timer

        

参数介绍:

        

        目标吞吐量:每个用户每分钟发送的请求数。

步骤:

        1.添加线程组,循环次数设置为永远

        2.添加HTTP请求

        3.添加常数吞吐定时器

                · 设置目标吞吐量:每个用户每分钟发送的请求数

                · 计算方法:要求QPS*60/线程数

        4.添加查看结果树

        5.添加监听器,聚合报告

相关文章:

Jmeter逻辑控制器、定时器

目录 一、Jmeter逻辑控制器 ①IF(如果)控制器 作用: 位置: 参数介绍: 步骤: ②循环控制器 作用: 位置: 步骤: 线程组属性VS循环控制器 ③ForEach控制器 作用: 位置&am…...

每日八股文6.2

每日八股-6.2 Go1.GMP调度原理(这部分多去看看golang三关加深理解)2.GC(同样多去看看golang三关加深理解)3.闭包4.go语言函数是一等公民是什么意思5.sync.Mutex和sync.RWMutex6.sync.WaitGroup7.sync.Cond8.sync.Pool9.panic和rec…...

R3GAN利用配置好的Pytorch训练自己的数据集

简介 简介:这篇论文挑战了"GANs难以训练"的广泛观点,通过提出一个更稳定的损失函数和现代化的网络架构,构建了一个简洁而高效的GAN基线模型R3GAN。作者证明了通过合适的理论基础和架构设计,GANs可以稳定训练并达到优异性能。 论文题目:The GAN is dead; long l…...

吴恩达机器学习笔记(1)—引言

目录 一、欢迎 二、机器学习是什么 三、监督学习 四、无监督学习 一、欢迎 机器学习是当前信息技术领域中最令人兴奋的方向之一。在这门课程中,你不仅会学习机器学习的前沿知识,还将亲手实现相关算法,从而深入理解其内部机理。 事实上&…...

信贷风控规则策略累计增益lift测算

在大数据风控业务实践过程中,目前业内主要还是采用规则叠加的办法做策略,但是会遇到一些问题: 1.我们有10条规则,我上了前7条后,后面3条的绝对风险增益是多少? 2.我的规则之间应该做排序吗,最重…...

【笔记】Windows 部署 Suna 开源项目完整流程记录

#工作记录 因篇幅有限,所有涉及处理步骤的详细处理办法请参考文末资料。 Microsoft Windows [Version 10.0.27868.1000] (c) Microsoft Corporation. All rights reserved.(suna-py3.12) F:\PythonProjects\suna>python setup.py --admin███████╗██╗…...

【Elasticsearch】Elasticsearch 核心技术(一):索引

Elasticsearch 核心技术(一):索引 1.索引的定义2.索引的命名规范3.索引的增、删、改、查3.1 创建索引3.1.1 创建空索引 3.2 删除索引3.3 文档操作3.3.1 添加/更新文档(指定ID)3.3.2 添加文档(自动生成ID&am…...

AudioTrack的理解

采样率说的是一秒钟采样多少点 波形频率说的是一个采样周期内有多少个波形 pcm编码说的是 16 还是8 直接决定write的时候使用short还是byte ‌一、初始化配置 ‌参数设定‌ 需定义音频格式、采样率及缓冲区大小,确保符合硬件支持范围 // 音频参数配置 int sample…...

HTTP请求与HTTP响应介绍及其字段

HTTP请求 请求行:请求行主要包含请求方法、请求URI(统一资源标识符)和HTTP协议版本。例如: GET /index.html HTTP/1.1 请求头(Headers):包含客户端的元数据,为服务器提供了额外信息…...

Fullstack 面试复习笔记:操作系统 / 网络 / HTTP / 设计模式梳理

Fullstack 面试复习笔记:操作系统 / 网络 / HTTP / 设计模式梳理 面试周期就是要根据JD调整准备内容(挠头),最近会混合复习针对全栈这块的内容,目前是根据受伤的JD,优先选择一些基础的操作系统、Java、Nod…...

中科院报道铁电液晶:从实验室突破到多场景应用展望

2020年的时候,相信很多关注科技前沿的朋友都注意到,中国科学院一篇报道聚焦一项有望改写显示产业格局的新技术 —— 铁电液晶(FeLC)。这项被业内称为 "下一代显示核心材料" 的研究,究竟取得了哪些实质性进展…...

智慧政务标准规范介绍:构建高效、协同的政务信息体系

在当今信息化快速发展的时代,智慧政务作为政府数字化转型的重要方向,正逐步改变着政府管理和服务的方式。为了确保智慧政务系统的建设能够有序、高效地进行,国家制定了一系列标准规范,其中GB∕T 21062系列标准《政务信息资源交换体…...

6个月Python学习计划 Day 12 - 字符串处理 文件路径操作

第一周 Day 1 - Python 基础入门 & 开发环境搭建 Day 2 - 条件判断、用户输入、格式化输出 Day 3 - 循环语句 range 函数 Day 4 - 列表 & 元组基础 Day 5 - 字典(dict)与集合(set) Day 6 - 综合实战:学生信息…...

CSS篇-3

1. CSS 中哪些样式可以继承?哪些不可以继承? 可继承的样式: 与字体相关的样式,如:font-size、font-family、color 列表样式:list-style(如 UL、OL 的 list-style-type) 不可继承的样式: 与布局和尺寸相关的样式,如:border、padding、margin、width、height 总结: …...

Unity使用Lua框架和C#框架开发游戏的区别

在Unity中使用Lua框架和C#框架开发游戏有显著的区别,主要体现在性能、开发效率、热更新能力、维护成本等方面。 1. 语言类型与设计目标 维度LuaC#类型动态类型、解释型脚本语言静态类型、编译型面向对象语言设计初衷轻量级嵌入、配置和扩展宿主程序通用开发&#…...

Go开发简历优化指南

一、简历格式与排版 (一)简洁至上 去除多余装饰:在 Go 后台开发简历中,应摒弃那些花哨却无实际作用的元素,比如复杂的封面、页眉、页脚等。设想招聘人员每日要处理大量简历,若你的简历有繁杂的封面设计&a…...

手机照片太多了存哪里?

手机相册里塞满了旅行照片、生活碎片,每次清理都舍不得删?NAS——一款超实用的存储方案,让你的回忆安全又有序~ 1️⃣自动备份解放双手 手机 / 电脑 / 相机照片全自动同步到 NAS,再也不用手动传文件 2️⃣远程访问像…...

【论文笔记】SecAlign: Defending Against Prompt Injection with Preference Optimization

论文信息 论文标题:SecAlign: Defending Against Prompt Injection with Preference Optimization - CCS 25 论文作者: Sizhe Chen - UC Berkeley ;Meta, FAIR 论文链接:https://arxiv.org/abs/2410.05451 代码链接:h…...

IP Search Performance Tests dat/db/xdb/mmdb 结构性能差异对比

IP Search Performance Tests qqzeng-ip by 2025-06-01 测试环境: BenchmarkDotNet v0.15.0 macOS Sequoia 15.5 (24F74) [Darwin 24.5.0] Apple M4 Max, 1 CPU, 14 logical and 14 physical cores .NET SDK 10.0.100-preview.4.25258.110 [Host]: .NET…...

OpenRouter使用指南

OpenRouter 是一个专注于大模型(LLM)API 聚合和路由的服务平台,旨在帮助开发者便捷地访问多种主流大语言模型(如 GPT-4、Claude、Llama 等),并提供统一的接口、成本优化和智能路由功能。以下是它的核心功能…...

Linux 中 m、mm、mmm 函数和 make 的区别

在 Linux 内核开发和 Android 开发中,构建系统通常使用 make 命令来编译和构建项目。而在 Android 开发环境中,还有 m、mm 和 mmm 等命令,这些命令是 Android 构建系统的一部分,提供了更高效和便捷的构建方式。以下将详细介绍这些…...

【MAC】YOLOv8/11/12 转换为 CoreML 格式并实现实时目标检测

在本文中,我们将详细介绍如何将 YOLOv8/11/12 模型转换为 CoreML 格式,并使用该模型在摄像头实时检测中进行目标检测。主要适用于M1、M2、M3、M4芯片的产品。 以下教程在YOLOv8/11/12均适用,此处就以 YOLOv11 举例 目录 前提条件YOLOv8/11/12 转换为 CoreML实时目标检测结论…...

NodeJS全栈WEB3面试题——P7工具链 测试

📊 7.1 Truffle vs Hardhat:各自的优势? 项目TruffleHardhat📦 成熟度老牌框架,社区大,文档全面新一代框架,现代化设计🧪 测试支持内置 Mocha 测试框架支持 Mocha Chai&#xff0c…...

Mybatis框架各配置文件主要内容详解(二)

ResultMap解决了数据库字段与实体类之间不一致导致的问题 <!--resultMap&#xff1a;设置自定义映射属性&#xff1a;id&#xff1a;表示自定义映射的唯一标识type&#xff1a;查询的数据要映射的实体类的类型子标签&#xff1a;id&#xff1a;设置主键的映射关系result&…...

【优选算法 | 队列 BFS】构建搜索流程的核心思维

算法相关知识点可以通过点击以下链接进行学习一起加油&#xff01;双指针滑动窗口二分查找前缀和位运算模拟链表哈希表字符串模拟栈模拟(非单调栈)优先级队列 很多人学 BFS 的时候都知道“用队列”&#xff0c;但为什么一定是队列&#xff1f;它到底在整个搜索流程中起了什么作…...

virtio介绍 (三)--spdk作为virtio后端处理nvme盘io的流程--上

目录 一 简介 二 vhost-blk层 三 bdev层 四 lvol层 五 bdev_nvme层 六 硬件驱动层 七 完整取io调用栈流程 一 简介 上节介绍了virito的基本原理&#xff0c;后面根据实际代码介绍virtio的流程。virtio后端代码相对于前端代码更简单&#xff0c;我们先以spdk中的virtio后…...

关于BackgroundScheduler的pause

在APScheduler中&#xff0c;pausedTrue参数的作用对象取决于其使用场景&#xff1a; 1. ‌作用于调度器&#xff08;Scheduler&#xff09;‌ 当在start()方法中使用时&#xff08;如 scheduler.start(pausedTrue)&#xff09; 表示‌调度器本身启动后立即进入暂停状态‌&…...

设计模式(行为型)-中介者模式

目录 定义 类图结构展示 角色职责详解 模式的优缺点分析 优点 缺点 适用场景 应用实例 与其他模式的结合与拓展 总结 定义 中介者模式的核心思想可以概括为&#xff1a;用一个中介对象来封装一系列的对象交互。这个中介者就像一个通信枢纽&#xff0c;使各对象不需要…...

【Java学习笔记】异常

异常&#xff08;Exception&#xff09; 一、基本介绍 在 Java 程序中&#xff0c;将运行中发生的不正常情况称为 “异常”&#xff0c;开发过程中的语法错误和运行时发生的异常情况是不一样的。 二、异常的分类 1. Error&#xff08;错误&#xff09;&#xff1a;Java 虚拟…...

MySQL:视图+用户管理+访问+连接池原理

一、视图 视图是一个虚拟表&#xff0c;其内容由查询定义。同真实的表一样&#xff08;相当于是把查询的内容当成一个临时表来使用&#xff09;&#xff0c;视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表&#xff0c;基表的数据变化也会影响到视图。 1.1 为…...