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

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.mfbz.cn/a/230081.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

int 和 Integer 有什么区别,还有 Integer 缓存的实现

✨前言✨   Java本文主要介绍Java int 和 Integer的区别以及Integer 缓存的实现 🍒欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁 🍒博主将持续更新学习记录收获,友友们有任何问题可以在评论区留言 文章目…

AI别墅设计

这两年我致力于研发别墅AI自动化设计,包括设计别墅各层的平面图以及导出三维效果图。目的是可以快速生成大量别墅的设计图和效果图让自建房用户可以第一时间挑选自己需要的房型并看到房屋建成后效果,大大提高建筑施工和设计人员的工作效率。 别墅设计包括…

记一次测试环境git翻车经历

本来想拉一个功能分支进行新的功能开发,合并代码发现没有冲突居然有文件被修改了,贸然选择最近的一次回滚提交,没想到不假思索的push -f 导致一部分dev主干的代码不见了。 事故记录 开发分支origin/dev,功能分支file 合并之后发…

pytorch-mask-rcnn 官方

This is a Pytorch implementation 实现 of Mask R-CNN that is in large parts based on Matterports Mask_RCNN. Matterports repository is an implementation on Keras and TensorFlow. The following parts of the README are excerpts 摘录 from the Matterport README. …

电子学会C/C++编程等级考试2021年09月(五级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:抓牛 农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点N(0<=N<=100000),牛位于点K(0<=K<=100000)。农夫有两种移动方式: 1、从X移动到X-1或X+1,每次移动花费一分钟 2、从X移动到2*X,每…

Gitlab+GitlabRunner搭建CICD自动化流水线将应用部署上Kubernetes

文章目录 安装Gitlab服务器准备安装版本安装依赖和暴露端口安装Gitlab修改Gitlab配置文件访问Gitlab 安装Gitlab Runner服务器准备安装版本安装依赖安装Gitlab Runner安装打包工具安装docker安装java17安装maven 注册Gitlab Runner 搭建自动化部署准备SpringBoot项目添加一个Co…

【力扣热题100】287. 寻找重复数(弗洛伊德的乌龟和兔子方法)

【力扣热题100】287. 寻找重复数 写在最前面理解解决 "寻找重复数" 问题的算法问题描述弗洛伊德的乌龟和兔子方法为什么这个方法有效&#xff1f; 代码复杂度 总结回顾 写在最前面 刷一道力扣热题100吧 难度中等 https://leetcode.cn/problems/find-the-duplicate-…

文献计量学方法与应用、主题确定、检索与数据采集、VOSviewer可视化绘图、Citespace可视化绘图、R语言文献计量学绘图分析

目录 一、文献计量学方法与应用简介 二、主题确定、检索与数据采集 三、VOSviewer可视化绘图 四、Citespace可视化绘图 五、R语言文献计量学绘图分析 六、论文写作 七、论文投稿 更多应用 文献计量学是指用数学和统计学的方法&#xff0c;定量地分析一切知识载体的交叉…

HarmonyOS鸿蒙操作系统架构开发

什么是HarmonyOS鸿蒙操作系统&#xff1f; HarmonyOS是华为公司开发的一种全场景分布式操作系统。它可以在各种智能设备&#xff08;如手机、电视、汽车、智能穿戴设备等&#xff09;上运行&#xff0c;具有高效、安全、低延迟等优势。 目录 HarmonyOS 一、HarmonyOS 与其他操…

用23种设计模式打造一个cocos creator的游戏框架----(十)迭代器模式

1、模式标准 模式名称&#xff1a;迭代器模式 模式分类&#xff1a;行为型 模式意图&#xff1a;提供一种方法顺序访问一个聚合对象中的各个元素&#xff0c;且不需要暴露该对象的内部表示. 结构图&#xff1a; ​ 适用于&#xff1a; 1、当你需要遍历一个复杂的数据结构…

24、文件上传漏洞——Apache文件解析漏洞

文章目录 一、环境简介一、Apache与php三种结合方法二、Apache解析文件的方法三、Apache解析php的方法四、漏洞原理五、修复方法 一、环境简介 Apache文件解析漏洞与用户配置有密切关系。严格来说&#xff0c;属于用户配置问题&#xff0c;这里使用ubantu的docker来复现漏洞&am…

概率测度理论方法(第 2 部分)

一、说明 欢迎回到这个三部曲的第二部分&#xff01;在第一部分中&#xff0c;我们为测度论概率奠定了基础。我们探索了测量和可测量空间的概念&#xff0c;并使用这些概念定义了概率空间。在本文中&#xff0c;我们使用测度论来理解随机变量。 作为一个小回顾&#xff0c;在第…

ardupilot开发 --- git 篇

一些概念 工作区&#xff1a;就是你在电脑里能看到的目录&#xff1b;暂存区&#xff1a;stage区 或 index区。存放在 &#xff1a;工作区 / .git / index 文件中&#xff1b;版本库&#xff1a;本地仓库&#xff0c;存放在 &#xff1a;工作区 / .git 中 关于 HEAD 是所有本地…

【js】js实现多个视频连续播放:

文章目录 一、效果&#xff1a;二、实现&#xff1a; 一、效果&#xff1a; 二、实现&#xff1a; <!DOCTYPE html> <html> <head><title>Video Player</title><style>#progressBar { width: 800px;height: 20px;background-color: #dd…

图空图床图片外链系统源码-支持自定义权限策略-图片大小格式

含视频搭建教程。 大致功能&#xff1a; 支持本地等多种第三方云储存 AWS S3、阿里云 OSS、腾讯云 COS、七牛云、又拍云、SFTP、FTP、WebDav、Minio多种数据库驱动支持&#xff0c;MySQL 5.7、PostgreSQL 9.6、SQLite 3.8.8、SQL Server 2017支持配置使用多种缓存驱动&#xff…

代立冬:基于Apache Doris+SeaTunnel 实现多源实时数据仓库解决方案探索实践

大家好&#xff0c;我是白鲸开源的联合创始人代立冬&#xff0c;同时担任 Apache DolphinScheduler 的 PMC chair 和 SeaTunnel 的 PMC。作为 Apache Foundation 的成员和孵化器导师&#xff0c;我积极参与推动多个开源项目的发展&#xff0c;帮助它们通过孵化器成长为 Apache …

Java编程中通用的正则表达式(一)

正则表达式&#xff08;Regular Expression&#xff0c;简称RegEx&#xff09;&#xff0c;又称常规表示法、正则表示、正规表示式、规则表达式、常式、表达式等&#xff0c;是计算机科学中的一个概念。正则表达式是用于描述某种特定模式的字符序列&#xff0c;特别是用来匹配、…

软件工程复习

一、题型 单项选择题 20分 填空题 10分 判断题 10分 简答题 18分 应用题 12分 综合题 30分 软件程序数据文档 软件是无形的、不可见的逻辑实体 20世纪60年代末爆发软件危机 软件危机是指软件在开发与维护过程中遇到的一系列严重的问题 …

Mint Blockchain,一个聚焦在 NFT 领域的 L2 网络

Mint 是什么&#xff1f; Mint 是一个聚焦在 NFT 领域的创新型 L2 网络。Mint Blockchain 致力于促进 NFT 资产协议标准的创新和现实商业场景中 NFT 资产的大规模采用。 不管是过去 3 年在以太坊网络涌现的 NFT&#xff0c;还是当下在比特币网络活跃的“铭文” NFT&#xff0c…

持续集成和持续交付

引言 CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。CI/CD 的核心概念是持续集成、持续交付和持续部署。作为一种面向开发和运维团队的解决方案&#xff0c;CI/CD 主要针对在集成新代码时所引发的问题&#xff08;亦称&#xff1a;“集成地狱”&#…
最新文章