jmeter做跨线程组

多线程通常会将不同的业务逻辑分配到不同的线程组中。

为什么要做多线程:

  • 模拟真实世界场景:在实际应用中,服务器通常需要同时处理来自多个用户的请求。通过多线程,JMeter可以模拟这种并发用户的行为,更准确地反映出应用程序在面对大量并发请求时的响应能力和稳定性。

  • 测试系统极限:利用多线程,JMeter可以帮助识别系统在高负载下的性能瓶颈,比如响应时间增加、吞吐量下降等。这对于了解系统能够承受的最大负载非常有用。

  • 提高测试效率:通过并发执行多个线程,可以在较短的时间内完成更多的测试案例,加快测试进程。

  • 资源利用率:多线程允许更好地利用测试机器的硬件资源(如CPU和内存),尤其是在高性能测试环境中,这样可以更加充分地发挥测试工具的能力。

  • 分布式测试:对于特别大型的测试需求,JMeter支持分布式测试,通过协调多台机器上的JMeter实例来产生更高的负载,这同样依赖于多线程技术的支持

例如:

  1. 登录线程组:专门用于处理用户登录,获取 token 或其他认证信息。

  2. 业务线程组:依赖于登录线程组的结果(如 token),执行后续的业务操作(如下单、支付、查询等)。

这种设计的好处是:

  • 职责分离:每个线程组专注于特定的任务,便于管理和调试。

  • 模拟真实场景:可以更好地模拟实际用户的操作流程,比如一个用户先登录,然后进行一系列操作。

  • 性能测试:通过调整线程组的并发数,可以分别测试登录服务和业务服务的性能瓶颈。

首先在测试计划中独立运行每个线程组(例如在一个组运行结束后启动下一个)给勾选上

jmeter默认同级别线程组,同时运行没有先后之分,这个叫并发

并发就是我们站在同一个起跑线上,同时往前跑,谁先到终点谁就赢

引入setup与teardown概念

setup是开始,teardown是终点

跨线程在调用变量

前提:产生变量的线程组,一定要在消费变量的线程组之前执行

可以将产生变量的线程组设置成setUp线程组也可以在测试计划中勾选"独立运行每个线程组"

使默认的并发机制转变为线性机制

线性机制就是从上到下,也就是上面提到的独立运行线程组

这是两种方法 操作:

在登录接口中添加后置处理器中的BeanShell 我们需要将提取的token的值全局化,作用到全局,因为我们后续有多个线程组在调用token的时候,是需要将token的值进行全局化的

具体操作,直接贴图添加断言:

  1. 响应断言:

    1. 响应断言是最常用的断言之一,它用来检查服务器返回的响应内容是否符合预期。这包括但不限于检查响应文本、响应代码、响应头部等。例如,在一个HTTP请求之后,你可以使用响应断言来验证响应体中是否包含特定的字符串,或者响应头中是否含有某个特定的字段。

  2. 断言状态码:

    1. 断言状态码专门用于验证HTTP请求后的状态代码是否为预期值。HTTP状态码是服务器对客户端请求的响应状态,如200表示成功,404表示未找到资源等。通过设置断言状态码,可以确保请求达到了预期的结果。比如,如果你期望的是一个成功的GET请求,那么你可以在断言中设置状态码为200。

  3. 断言持续时间:

    1. 断言持续时间是用来验证操作执行所需的时间是否在可接受的范围内。这对于性能测试尤为重要,因为它可以帮助确定服务的响应速度是否满足业务需求。如果一个请求的响应时间超过了设定的阈值,断言就会失败,提示可能存在性能瓶颈或其他问题。

包括:包含上面的信息即算匹配通过,支持正则表达式

匹配:完全对应上上面的信息才算匹配通过,支持正则表达式

相等:响应结果与上面指定信息完全一致才算匹配通过,不支持正则表达式

字符串:包含上面的信息即算匹配通过。不支持正则表达式,对大小写敏感

否:与上面勾选的信息反转即算通过,不包含不匹配勾选的信息

具体操作:响应断言以及状态码断言

响应断言时间:

需要在“持续时间(毫秒)”字段中输入期望的最大响应时间,例如500毫秒。这样,当实际响应时间超过这个值时,测试就会失败,提示存在性能问题。

Apply to: Main sample and sub-samples:主样本和子样本,子样本如图片、CSS、JavaScript文件等。

Main sample only:只针对主样本 这意味着断言只会检查主请求的结果,而忽略任何子样本(如嵌套资源)的响应 Sub-samples only:只针对子样本 这意味着断言会跳过主样本,只针对嵌套资源(如图片、CSS、JS等)的响应进行检查

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/913937.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/913937.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL实战:多表查询篇

文章目录多表查询创建练习用的数据库链接/连接查询交叉连接自然连接内连接(取交集)外连接左外连接/右外连接自连接子查询联合查询总结数据库的备份和恢复命令行操作多表查询 -- 获得 alice的 部门所在城市 select * from staff where namealice; -- 获得dept_id1 select city …

交通银行基于HarmonyOS数字盾服务,实现大额转账安全

在近日落幕的华为开发者大会2025(6月20日-6月22日)上,交通银行作为HarmonyOS安全合作的关键伙伴受邀出席。在大会的主题演讲上介绍了交通银行基于HarmonyOS SDK设备安全服务(Device Security Kit)中的数字盾服务&#…

加密狗硬复制的方法

加密狗硬复制方法概述:Greer82加密狗(Dongle)是一种硬件加密设备,用于软件版权保护。硬复制是指通过物理手段复制加密狗的硬件信息,通常涉及破解或仿制。需要注意的是,未经授权的复制可能涉及法律风险&…

家庭网络中的服务器怎么对外提供服务?

家庭网络中的服务器怎么对外提供服务?方案1 DDNS(家庭网络需要有公网ip)方案2 内网穿透(需要有一台公网ip的服务器)方案1 DDNS(家庭网络需要有公网ip) 怎么判断是否有公网ip?大致的流…

UnrealEngine5游戏引擎实践(C++)

目录 目录 目录 Unreal Engine 是什么? Unreal Engine 5 简介 核心技术特性 应用场景扩展 兼容性与生态系统 Unreal Engine安装 下载 Epic Games Launcher 启动 Unreal Engine 选择安装版本和路径 选择组件 开始安装 验证安装 配置项目模板(可选) 更新和插件…

web渗透sql注入4之PostgreSQL

web渗透sql注入4之PostgreSQLPostgreSQL数据库特性:基于角色的访问控制,支持超级用户,需安装 plpgsql 扩展方可执行命令,可通过 COPY命令或自定义函数实现权限判断白盒看代码,黑盒通过构造特殊查询语句探测数据库权限权…

2025年7月:打cs1.5 600元装机台式电脑方案A

打cs1.5 600元装机方案A:有需要的小伙伴可以收藏哈,目前我没有机会实测效果,理论值是ok无压力的,大家 有机会配置后的,也可以自行测试下CS1.5的FPS值稳定否哈哈。 打cs1.5 600元装机方案A: 点击查看详细内…

人大金仓下载安装教程总结

文章目录前言背景: 工作中进行信创改造,需要把mysql,postgresql数据迁移到人大金仓一、人大金仓是什么?二、使用场景三、下载安装教程四、优势五、环境及要求六、工具以及词汇介绍总结前言 背景: 工作中进行信创改造&…

WebDAV与内网穿透的协同创新:Joplin私有云同步架构深度解析

文章目录前言1. 检查群晖Webdav 服务2. 本地局域网IP同步测试3. 群晖安装Cpolar工具4. 创建Webdav公网地址5. Joplin连接WebDav6. 固定Webdav公网地址7. 公网环境连接测试前言 在远程办公场景持续深化的数字化时代,数字笔记工具已从单纯的记录载体进化为知识管理的…

html的outline: none;

outline: none; 是一条 CSS 样式规则&#xff0c;用来取消元素获得焦点时的默认轮廓线&#xff08;outline&#xff09;。&#x1f50d; 什么是 outline&#xff1f;outline 是浏览器在某些元素&#xff08;例如输入框 <input>、按钮 <button>、可编辑元素如 <d…

Java 正则表达式白皮书:语法详解、工程实践与常用表达式库

一、什么是正则表达式&#xff1f;正则表达式&#xff08;Regular Expression&#xff09;是一种文本模式&#xff0c;用于描述、匹配、搜索或替换符合某种规则的字符串。其在日志提取、表单校验、配置清洗、数据爬取等场景中被广泛使用。Java 提供了完整的正则表达式支持&…

火山引擎Data Agent全面上线售卖!以企业级数据智能体,重构数据应用范式

资料来源&#xff1a;火山引擎-开发者社区 在火山引擎2025春季FORCE原动力大会现场&#xff0c;火山引擎数智平台解决方案总经理萧然宣布&#xff0c; 企业级数据智能体Data Agent即日起正式上线售卖 。该产品旨在通过DataAI的深度融合&#xff0c;助力企业实现数据价值的挖掘与…

uniapp AndroidiOS 定位权限检查

定位权限检查 // 检查定位权限状态 export const checkPermission () > {const platform uni.getSystemInfoSync().platform;console.log(platform, platform)// #ifdef APP-PLUSif (platform android) {// Androidreturn checkAndroidPermission();} else if (platform …

深入理解Java虚拟机(JVM):从内存管理到性能优化

深入理解Java虚拟机&#xff08;JVM&#xff09;&#xff1a;从内存管理到性能优化 目录 引言JVM架构概述 1. 类加载器&#xff08;Class Loader&#xff09;2. 运行时数据区&#xff08;Runtime Data Areas&#xff09;3. 执行引擎&#xff08;Execution Engine&#xff09;…

PHP SimpleXML:深入理解与高效使用

PHP SimpleXML:深入理解与高效使用 引言 PHP SimpleXML 是一个用于解析和操作 XML 文档的库。它简化了 XML 的处理过程,使得 PHP 开发者可以更加轻松地与 XML 数据交互。本文将深入探讨 PHP SimpleXML 的基本概念、使用方法以及在实际开发中的应用。 SimpleXML 简介 Simp…

双模秒切,体验跃迁!飞利浦EVNIA双模游戏显示器27M2N6801M王者降临!

当沉浸式画质与电竞级流畅无法共存&#xff0c;EVNIA Mini LED双模游戏显示器27M2N6801M以破界之姿革新而来&#xff01;全新搭载 4K160Hz / FHD320Hz双模显示引擎&#xff0c;将视觉震撼与操作跟手性推向全新高度。心念所动间&#xff0c;即可在电影级3A世界与分秒必争的电竞战…

Transformer:自注意力驱动的神经网络革命引擎

本文由「大千AI助手」原创发布&#xff0c;专注用真话讲AI&#xff0c;回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我&#xff0c;一起撕掉过度包装&#xff0c;学习真实的AI技术&#xff01; 从语言理解到多模态智能的通用架构基石 ⚙️ 一、核心定义与历史意义 …

汽车电子电气架构中的关键计算单元解析

汽车电子电气架构正经历从分布式到集中式的重大变革&#xff0c;ECU、域控制器、中央计算单元等计算设备在这一演进过程中扮演着不同角色。这些设备按功能层级可分为传统控制层、域集中层和中央计算层&#xff0c;各自承担特定计算任务&#xff0c;共同构成智能汽车的"大脑…

Pandas 学习(数学建模篇)

今天学习数学建模2023年C篇&#xff08;228&#xff09;优秀论文 2023高教社杯全国大学生数学建模竞赛C题论文展示&#xff08;C228&#xff09; - 2023C题论文 - 中国大学生在线 一.pd.DataFrame pd.DataFrame() 是 pandas 库中用于创建二维表格数据结构&#xff08;DataFr…

第七讲:C++中的string类

目录 1、认识string类 2、标准库中的string类 2.1、string类的常见接口 2.1.1、构造与赋值重载 2.1.2、迭代器 2.1.3、容量 2.1.4、访问 2.1.5、修改 2.1.6、字符串操作 2.1.7、成员常量 2.1.8、非成员函数 2.1.9、转换函数 2.2、vs和g下的string 2.2.1、vs下的s…