【性能测试】Jmeter 配置元件(一):计数器

news2025/1/23 7:21:55

Jmeter 配置元件(一):计数器

在 Jmeter 中,通过函数 ${__counter(,)} 可以实现每次加 1 1 1 的计数效果。但如果步长不为 1 1 1,则要利用到我们的计数器。

函数作用
${__counter(,)}计数器,每次加 1
${__dateTimeConvert(,)}时间格式转换
${__intSum(,)}整数相加
${__P(,)}获取属性
${__setProperty(,)}设置属性
${__Random(,)}随机数
${__threadNum}线程编号
${__time(,)}获取当前时间戳
${__V(,)}拼接

我们首先添加一个 线程组。我们设置 线程数 5 5 5Ramp-Up 时间为 1 秒,为了便于观测,循环次数 设为 3 3 3

在这里插入图片描述

既然要了解计数器,首先给线程组添加一个 计数器。操作:线程组(右键添加)➡️ 配置元件 ➡️ 计数器。

在这里插入图片描述
我们对计数器做出如下设置:

在这里插入图片描述

  • 开始值Starting value):给定计数器的起始值、初始值,第一次迭代时,会把该值赋给计数器。
  • 递增Increment):每次迭代后,给计数器增加的值。
  • 最大值Maximum value):达到最大值时,自动重置初始值;默认的最大值为 2 63 − 1 2^{63}-1 2631,即 Long.MAX_VALUE
  • 数字格式Number format):可选格式,比如 000,格式化为 001,002 … 三位,不足补 0;默认格式为 Long.toString(),但是默认格式下,还是可以当作数字使用。
  • 引用名称Exported Variable Name):用于控制在其它元素中引用该值,比如:变量名称为 reference_name,形式:${reference_name}
  • 与每用户独立的跟踪计数器Track Counter Independently for each User):如果不勾选,即全局的计数器,比如用户 #1 获取值为 1 1 1,用户 #2 获取值则为 2 2 2;如果勾选,即独立的计数器,则每个用户有自己的值:比如用户 #1 获取值为 1 1 1,用户 #2 获取值也为 1 1 1:网上很多帖子这个参数都解释反了,估计是某一篇说错了,然后其他人直接搬过去都没有验证过,本文有验证)。
  • 在每个线程组迭代上重置计算器Reset counter on each Thread Group Iteration):可选,仅勾选与每用户独立的跟踪计数器时可用。

为了方便观察输出,我添加了一个 JSR223 Sampler

在这里插入图片描述

我们再添加一个 查看结果树,并允许将所有数据写入一个文件(待会有用)。

在这里插入图片描述
现在我们可以执行看一看。

首先来看一下 日志

在这里插入图片描述

再看一下结果树:

在这里插入图片描述

因为前面我们并未勾选 与每用户独立的跟踪计数器,所以它是一个全局的计数器,所有的线程会共享这个计数器。

现在我们勾选上 与每用户独立的跟踪计数器

在这里插入图片描述

再来看看结果

在这里插入图片描述

可以看到,线程之间并没有共享计数器,而是独立的计数器。

现在我们再勾选上 在每个线程组迭代上重置计算器

在这里插入图片描述
我们再来看看结果。

在这里插入图片描述
因为线程之间独立,且每一次循环也独立,所以结果全部都是一样的。

我们再把 最大值 改小一点看看。

在这里插入图片描述

查看结果树。

在这里插入图片描述

我们会发现,当超过最大值以后,计数器会重新从头开始计算(取 ≤ 最大值的数据)。

再来一个好玩的。 10 10 10 个线程一直循环,且不设最大值。跑一会,看看会得到啥?

在这里插入图片描述
在这里插入图片描述

我大概跑了二三十秒。

在这里插入图片描述

结果树不方便查看,所以写入到了 CSV 文件中,很快就生成了 100 多 MB 大小的文件。

在这里插入图片描述

打开来看一看。

在这里插入图片描述

我们检查一下 label 是否有重复项。

在这里插入图片描述

为什么博主要做这样一个的实验呢?因为博主踩过一个坑。我需要创建大量的测试数据,且名字不能重复,我用了给名字后缀添加计数器的方式,但是设置了最大值 10000 10000 10000,跑了一会很快就发现有重名的出现。

如果我们不设置最大值,即使超过了格式上的设置,比如下图中是 5 5 5 位数的格式,Jmeter 也会自动扩充数位。

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

jmeter不精通?来看这套很全的jmeter教程,ant批量执行Jmeter脚本

JDK,Jmeter默认已经装了ANT下载:Apache Ant - Binary Distributions ant环境变量需要配置 ant_home,你解压之后的地址 然后PATH环境变量里加上bin目录,D:\work\apache_ant\bin 最后打开命令行窗口,输入 ant -v&…

湖南大学-电路与电子学-2021期末A卷★(不含解析)

【写在前面】 电路与电子学好像是从2020级开设的课程,故实际上目前只有2020与2021两个年级考过期末考试。 本份卷子的参考性很高,这是2020级的期末考卷。题目都是很典型的,每一道题都值得仔细研究透。 特别注意:看得懂答案跟写得…

10天玩转Python第3天:python循环语句和字符串、列表全面详解与代码示例

目录 1 循环1.1 for 循环1.2 break 和 continue 2 容器3 字符串3.1 定义3.2 下标3.3 切片3.4 字符串的查找方法 find3.5 字符串的替换方法 replace3.6 字符串的拆分 split3.7 字符串的链接 join 4 列表4.1 定义4.1 列表支持下标和切片, 长度4.3 查找 - 查找列表中数据下标的方法…

C语言 二叉树详解(自我理解版)!!!二叉树的实现

目录 1.树的概念和结构(了解) 1.1树的概念 1.2关于树的每个组成结构的叫法 1.3树的结构体表示 1.4树在实际中的运用 2.二叉树的概念和结构和实现(本期偏重点之一) 二叉树的概念 ​编辑 特殊的二叉树 1.完全二叉树 2.满二…

MIT18.06线性代数 笔记2

文章目录 正交向量与子空间子空间投影投影矩阵和最小二乘正交矩阵和Gram-Schmidt正交化行列式及其性质行列式公式和代数余子式克拉默法则、逆矩阵、体积特征值和特征向量对角化和A的幂微分方程和exp(At)马尔科夫矩阵 傅里叶级数复习二 正交向量与子空间 向量正交:x…

Python中的并发编程(1)并发相关概念

并发和并行 并发和并行 并发指逻辑上同时处理多件事情,并行指实际上同时做多件事情。 并发不一定通过并行实现,也可以通过多任务实现。例如:现代操作系统都可以同时执行多个任务,比如同时听歌和玩游戏,但歌曲播放和游…

【模块化】 js 模块化(CommonJS, AMD, UMD, CMD, ES6)

目录 js 的演变模块化1. CommonJS 规范commonJs伪代码⭐CommonJS优缺点 2. AMD 规范⭐AMD 优缺点 3. UMD 规范⭐UMD AMD CommonJS 4. CMD 规范⭐CMD 优缺点 5. ES6 模块化符号绑定⭐ESM 优缺点 AMD 和 CMD 的区别ES6 模块与 CommonJS 模块的差异参考 将介绍几种 js 模块化的规…

Mirrors and reflections for VR

专为虚拟现实而建,但也非常适合非虚拟现实桌面和移动项目 这是URP管道,从Unity2019.4.16一直测试到2023年。 完全工作场景预览,轻松修改着色器材质。着色器支持折射,可以制作很酷的效果。 镜子/反射可以互相反射,而不仅仅是2...想象一下一个电梯,3面镜子都互相反射,直到…

【清晰明了】Jenkins邮件发送配置

自带邮件插件 首先要知道的是jenkins是自带邮件插件的,且不支持卸载。 下面开始配置自带邮件插件。 配置默认邮件管理员 系统管理 --> 系统配置,进行如下配置: 不配置管理员邮件地址报错如下 jakarta.mail.internet.AddressException:…

论文阅读二——基于全脸外观的凝视估计

论文阅读二——基于全脸外观的凝视估计 基础知识主要内容文章中需要学习的架构AlexNet 代码复现 该论文是2017年在CVPR中发表的一篇关于 “gaze estimation” 的文章,其论文地址与代码地址如下: 论文地址 代码地址 论文特点:文章提出了一种…

Java进阶 1-1 枚举

目录 枚举的基本特性 枚举类型中的自定义方法 switch语句中的枚举 编译器创建的values()方法 使用实现代替继承 构建工具:生成随机的枚举 组织枚举 EnumSet EnumMap 本笔记参考自: 《On Java 中文版》 枚举类型通过enum关键字定义,其…

【Spring进阶系列丨第五篇】详解Spring中的依赖注入

文章目录 一、说明二、构造函数注入2.1、方式一【index索引方式】2.1.1、定义Bean2.1.2、主配置文件中配置Bean2.1.3、测试 2.2、方式二【indextype组合方式】2.2.1、定义Bean2.2.2、主配置文件配置Bean2.2.3、测试2.2.4、解决方案 2.3、方式三【name方式】2.3.1、定义Bean2.3.…

5. PyTorch——数据处理模块

1.数据加载 在PyTorch中,数据加载可通过自定义的数据集对象。数据集对象被抽象为Dataset类,实现自定义的数据集需要继承Dataset,并实现两个Python魔法方法: __getitem__:返回一条数据,或一个样本。obj[in…

unity Mesh Simplify 1.10(模型优化工具:查看面数,降低面数灯)

提示:文章有错误的地方,还望诸位大神不吝指教! 文章目录 前言一、面板参数详解说明二、使用方法总结 前言 有时候想对模型优化一下,奈何又不会建模方面的。虽然我感觉它的数值不大对,但是不影响我们优化顶点数嘛。 Me…

LeetCode 1631. 最小体力消耗路径:广度优先搜索BFS

【LetMeFly】1631.最小体力消耗路径:广度优先搜索BFS 力扣题目链接:https://leetcode.cn/problems/path-with-minimum-effort/ 你准备参加一场远足活动。给你一个二维 rows x columns 的地图 heights ,其中 heights[row][col] 表示格子 (ro…

【玩转TableAgent数据智能分析】TableAgent全功能详解及多领域数据分析实践(中)不同领域数据分析实践

3 电影点评数据分析实践 利用本身自带的电影点评数据,来具体看一下TableAgent的分析能力,选择电影点评数据,智能体会自动导入该数据DMSC20000.csv,大小为3.3 MB。在数据信息展示区,就会显示出该数据,并提供…

你一定要知道的Fiddler过滤器 Filters 详解

如果要对当前Fiddler的抓包进行过滤(如过滤掉与测试项目无关的抓包请求),那功能强大的 Filters 过滤器能帮到你。 进入 Filters 选项页,勾选上 Use Filters,即启用过滤器。 Actions 四个选项说明: Run Fi…

SI24R03 高度集成低功耗SOC 2.4G 收发一体芯片

今天给大家介绍一款Soc 2.4G 收发一体模块-SI24R03 Si24R03是一款高度集成的低功耗无线SOC芯片,芯片为QFN32 5x5mm封装,集成了资源丰富的MCU内核与2.4G收发器模块,最低功耗可达1.6uA,极少外围器件,大幅降低系统应用成本…

(第8天)保姆级 PL/SQL Developer 安装与配置

PL/SQL Developer 安装与配置(第8天) 咱们前面分享了很多 Oracle 数据库的安装,但是还没有正式使用过 Oracle 数据库,怎么连接 Oracle 数据库?今天就来讲讲我学习中比较常用的 Oracle 数据库连接工具:PL/SQL DEVELOPER。 PL/SQL Developer 的安装和配置对于新手来说还是…

机器学习---Boosting

1. Boosting算法 Boosting思想源于三个臭皮匠,胜过诸葛亮。找到许多粗略的经验法则比找到一个单一的、高度预 测的规则要容易得多,也更有效。 预测明天是晴是雨?传统观念:依赖于专家系统(A perfect Expert) 以“人无…