浅谈逻辑控制器之仅一次控制器

news2024/9/20 16:51:27

浅谈逻辑控制器之仅一次控制器

“仅一次控制器”(Once Only Controller) 是一个非常实用的组件,它允许用户控制测试计划中的某些操作仅执行一次,无论其所在的线程组或父级控制器设置了多少次循环。本指南将详细介绍“仅一次控制器”的功能、使用场景及配置方法。

仅一次控制器简介

功能描述:

仅一次控制器确保其下挂的所有采样器(Samplers)和子控制器,在每个线程首次遇到该控制器时执行一次,之后即使线程循环多次,这些组件也不会被再次执行。这对于模拟如用户登录等一次性操作非常有用,确保了测试流程的准确性和效率。

注意点:

● 线程敏感性: 仅一次控制器是基于线程的,即每个线程都会独立执行一次控制器下的内容。如果设置了多个线程,每个线程都会执行一次控制器内的操作。
● 循环与迭代: 不管外部循环控制器如何设置,仅一次控制器下的内容在整个线程生命周期内只执行一次。
● 配置要求: 若要达到预期效果,确保线程组的线程数设置合理,特别是当需要模拟单用户行为时,通常设置为1。

使用场景

  1. 用户登录: 在需要进行多次操作但只需登录一次的场景中,可以将登录请求置于仅一次控制器下,确保每个虚拟用户只登录一次。
  2. 初始化设置: 如设置会话、获取token等一次性初始化操作,避免重复执行导致测试结果不准确或资源浪费。
  3. 数据预加载: 对于需要提前加载的数据,如数据库连接初始化,使用仅一次控制器可以有效控制加载次数。

配置步骤

  1. 打开JMeter: 启动JMeter并创建一个新的测试计划(Test Plan)。
  2. 添加线程组(Thread Group): 右键点击测试计划,选择“添加”>“Threads(Users)”>“线程组”,根据需求配置线程数和循环次数。
  3. 添加仅一次控制器(Once Only Controller): 在线程组内部右键,选择“添加”>“逻辑控制器”>“仅一次控制器”。
  4. 配置采样器(Sampler)及其它组件: 将需要仅执行一次的操作(如登录请求)拖拽至仅一次控制器下。
  5. 保存与运行: 配置完成后,保存测试计划并启动以验证设置是否符合预期。

实例说明

我们编写如下脚本:
在这里插入图片描述
线程组:循环次数设置为10,其他默认
BeanShell 取样器:编写如下代码

log.info("test");

运行脚本,我们可以看到JMeter如下日志

2024-06-27 11:32:55,458 INFO o.a.j.t.JMeterThread: Thread started: 线程组 1-1
2024-06-27 11:32:55,474 INFO o.a.j.u.BeanShellTestElement: test
2024-06-27 11:32:55,474 INFO o.a.j.t.JMeterThread: Thread is done: 线程组 1-1

可以看到不管是设置多少次,都只执行了一次

最佳实践

● 明确测试目标: 在使用仅一次控制器前,清晰界定哪些操作需为一次性,以避免不必要的测试复杂度。
● 调试与验证: 初次配置后,通过查看JMeter的日志或监听器输出,确保仅一次控制器按预期工作。
● 资源管理: 注意在高并发测试时,即使是仅一次的操作也可能因资源限制而成为瓶颈,适当调整测试策略。

结论:

仅一次控制器是JMeter中不可或缺的逻辑控制组件,它为模拟真实用户行为、优化测试流程提供了灵活性和精确性。正确运用此控制器,可使性能测试更加高效、准确,从而更好地评估系统性能极限与稳定性。

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

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

相关文章

2024欧洲杯来啦!这个AI网站预测还挺准;10条Prompt包你测出AI视频工具的成色;AI搜索版「苦涩的教训」入行必学 | ShowMeAI日报

👀日报&周刊合集 | 🎡ShowMeAI官网 | 🧡 点赞关注评论拜托啦! 1. 2024年欧洲杯来了!AI预测比赛结果的玩法,也越来越高级了~ 2024 年欧洲杯于6月14日至7月14日在德国举行,共有24支国家队参加…

flash申请内存失败,导致老化问题解决

背景 在闪光灯初始化阶段客制化了一个buffer,下发到kernel的闪光灯驱动中用于保存读取闪光灯寄存器的值。功能测试都是正常的,但是一旦开始批量跑产线老化测试会有1/4500左右概率的后主摄拍照卡住。定位根因是闪光灯初始化失败,进一步原因就…

vant4的组件气泡弹出框van-popover,在列表中遍历后点击一个全部/显示隐藏,解决办法

环境&#xff1a;vue3 vant-ui4 <div v-for"(info, index) in item.infoListVOs" :key"index"><van-popoverv-model:show"showPopover":actions"actions"overlayplacement"bottom-end"select"onSelect(info…

vector的自实现(迭代器失效问题)与继承续讲

引子&#xff1a;在生活中&#xff0c;我们使用vector很频繁&#xff0c;我们是不是可以自己来实现一个呢&#xff1f;&#xff0c;其实也不难&#xff0c;我们在学过数据结构&#xff0c;就很easy啦&#xff01; As we all kowmn,vector基础有以下函数&#xff01; from my …

GMSB文章五:微生物组差异分析ANCOMBC-2

欢迎大家关注全网生信学习者系列&#xff1a; WX公zhong号&#xff1a;生信学习者Xiao hong书&#xff1a;生信学习者知hu&#xff1a;生信学习者CDSN&#xff1a;生信学习者2 介绍 微生物的物种差异分析是一项关键的生物信息学任务&#xff0c;旨在识别不同生物群落或样本组…

k-NN 剪辑近邻法

本篇文章是博主在人工智能等领域学习时&#xff0c;用于个人学习、研究或者欣赏使用&#xff0c;并基于博主对人工智能等领域的一些理解而记录的学习摘录和笔记&#xff0c;若有不当和侵权之处&#xff0c;指出后将会立即改正&#xff0c;还望谅解。文章分类在AI学习笔记&#…

基于halcon的眼在手外(Eye-to-Hand)标定

前言 上个月写了一个《基于halcon的眼在手上&#xff08;Eye-in-Hand&#xff09;标定》的文章&#xff0c;通过官方的示例代码进行了简单的叙述&#xff0c;想学习的小伙伴可以点击链接进行学习。之前博主认为眼在手上&#xff08;Eye-in-Hand&#xff09;的案例更多&#xff…

【Java笔记】Flyway数据库管理工具的基本原理

文章目录 1. 工作流程2. 版本号校验算法3. 锁机制3.1 为什么数据库管理工具需要锁3.2 flyway的锁机制 Reference 最近实习做的几个项目都用到了Flyway来做数据库的版本管理&#xff0c;顺便了解了下基本原理&#xff0c;做个记录。 详细的使用就不写了&#xff0c;网上教程很多…

【财经研究】并购重组的“不可能三角”

伴随着沪深IPO景气度下滑后&#xff0c;并购重组正受到市场的关注。 近期监管层正频频为并购重组发声 6月20日&#xff0c;证监会主席吴清在陆家嘴论坛上指出&#xff1a;“支持上市公司运用各种资本市场工具增强核心竞争力&#xff0c;特别是要发挥好资本市场并购重组主渠道作…

干涉阵型成图参数记录【robust】

robust 这个玩意经常忘记&#xff0c;就是取2的时候是更加显示大尺度的结构&#xff0c;取-2更加显示小尺度结果&#xff0c;一般取0就是正常就好了

高效同步的PWM升压DC/DC转换器 SD6201/SD6201-AF

SD6201是高效同步的PWM升压DC/DC转换器优化为介质提供高效的解决方案电力系统。这些设备在输入电压介于0.9V和4.4V之间&#xff0c;带有1.4MHz固定频率切换。这些功能通过允许使用小型、薄型电感器以及陶瓷电容器。自动PWM/PFM轻负载下的模式切换可节省电力提高了效率。电压在2…

IMU坐标系与自定义坐标系转化

1.首先示例图为例&#xff1a; 虚线黑色角度为IMU的坐标系&#xff1b;实线为自定义坐标系&#xff1b; 矫正&#xff1a;&#xff08;默认angleyaw为IMU采的数据角度&#xff09; angleyaw_pt angleyaw-25;if(-180<angleyaw&&angleyaw<-155) // 角度跳变问…

GuiLite C语言实现版本

简介 本项目是idea4good/GuiLite的C语言实现版本&#xff0c;基于2024-06-20节点的版本&#xff08;提交ID&#xff1a;e9c4b57&#xff09;。 本项目仓库&#xff1a;GuiLite_C 需求说明 作为芯片从业人员&#xff0c;国产芯片普遍资源有限&#xff08;ROM和RAM比较少-都是…

Str.format()方法

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 在Python2.6之后&#xff0c;提供了字符串的format()方法对字符串进行格式化操作。format()功能非常强大&#xff0c;格式也比较复杂&…

深度学习论文撰写实验对比分析时复现其它论文方法的问题

&#x1f4aa; 专业从事且热爱图像处理&#xff0c;图像处理专栏更新如下&#x1f447;&#xff1a; &#x1f4dd;《图像去噪》 &#x1f4dd;《超分辨率重建》 &#x1f4dd;《语义分割》 &#x1f4dd;《风格迁移》 &#x1f4dd;《目标检测》 &#x1f4dd;《暗光增强》 &a…

BERT论文略读

《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》 &#xff08;https://arxiv.org/abs/1810.04805&#xff09; 摘要&#xff1a;前人优秀工作仅用了单向信息且不能很好的应用到各类下游任务&#xff0c;本文提出一种基于Transformer的双…

如何理解AKM?

关于Wi-Fi的加密认证过程&#xff0c;我们前面已经讲解&#xff1a;WLAN数据加密机制_tls加密wifi-CSDN博客 今天我们来理解下AKM&#xff0c;AKM&#xff08;Authentication and Key Management&#xff09;在Wi-Fi安全中是指认证和密钥管理协议。它是用于确定Wi-Fi网络中的认…

【Linux】Linux下使用套接字进行网络编程

&#x1f525;博客主页&#xff1a; 我要成为C领域大神&#x1f3a5;系列专栏&#xff1a;【C核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 ​ 用于网络应用开…

揭秘数据合并的秘密:一文掌握一对一、多对一、多对多合并技巧与实战!

使用pd.merge()合并 类似 MySQL 中表和表直接的合并merge与concat的区别在于,merge需要依据某一共同的行或列来进行合并使用pd.merge()合并时,会自动根据两者相同column名称的那一列,作为key来进行合并每一列元素的顺序不要求一致1. 一对一合并 df1 = pd.DataFrame({"…

搜维尔科技:SenseGlove Nova2国内首款支持手掌心力回馈手套开售

《SenseGlove Nova 2》现正全球发行中! 搜维尔科技独家代理最新上市的 SenseGlove Nova 2 是世上首款&#xff0c;也是目前市面上唯一一款提供手掌力回馈的无缐VR力回馈手套&#xff0c;它结合了三种最先进的反馈技术&#xff0c;包括主动反馈、强力反馈及震动反馈&#xff0c…