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

【性能测试】JMeter:集合点,同步定时器的应用实例!

一、集合点的定义

在性能测试过程中,为了真实模拟多个用户同时进行操作以度量服务器的处理能力,可以考虑同步虚拟用户以便恰好在同一时刻执行操作或发送请求。

通过插入集合点可以较真实模拟多个用户并发操作。

(注意:虽然通过加入集合点可以约束请求同时发送,但不能确保请求同时到达服务器,所以只能说是较真实模拟并发)

在JMeter中可以通过同步定时器来设置集合点。

二、同步定时器

Synchronizing Timer的目的是阻塞线程,直到X个线程被阻塞,然后它们全部被释放。因此,Synchronizing Timer可以在测试计划的各个点创建大的即时负载。

▲ 配置项

Number of Simultaneous Users to Group by:

设置一次性释放的线程数(默认为0)。通俗的理解就是并发用户数。

若设置为0,表示一次性释放的线程组下所有的线程。也就是并发用户数等于线程组下设置的线程数。

Timeout in milliseconds:

设置超时时间(单位毫秒ms,默认为0)。

若设置为0,定时器需要无条件等待设置线程数个数的线程全部到达才释放。比如设置线程数为100,则定时器无条件等待直到有100个线程达到才释放。

若设置的值大于0,则定时器以设置的超时时间作为等待释放的条件。

若相邻两个线程到达同步定时器的时间间隔大于超时时间,即使设置的线程数的线程未全部到达,定时器也会停止等待而释放到达的线程。

比如设置线程数为100,超时时间为2000ms,

工作原理为:从定时器工作开始计时,时间从0开始,在超时时间内第1个线程达到,则计时器重置为0;等待第2个线程,在超时时间内第2个线程到达,计时器重置为0;等待第3个线程...

只要相邻两个线程组之间的等待时间间隔没有超过2000ms的超时时间,则会等待全部100个线程达到才释放。

否则会停止等待立即释放,比如,在等待第24个线程到达定时器时,计时器时间超过2000ms了,则定时器停止等待,立即释放到达的23个线程。

▲ 注意事项

在使用同步定时器时,请注意如下事项:

  • 1.超时时间设置合理性
Timeout > 1000*(Number of Simulated Users to Group by)*(Ramp-Up Period)/(Number of Threads)
其中,Timeout为超时时间(单位ms),
Number of Simulated Users to Group by为一次性释放线程数(并发数)
Ramp-Up Period为线程组下所有线程的加载时间
Number of Threads为线程组下所有线程数
比如在线程组中设置10秒内要加载完200个线程,并在同步定时器中设置并发数为100,则超时时间设置须满足如下条件:
Timeout > 1000*100*10/200 ms = 5000 ms
  • 2.同步定时器仅对同一JVM中的线程有效,因此在分布式测试中不要使用,因为当JMeter分布式部署执行性能测试时,测试计划分发到不同的Slave上执行,为了确定是否满足线程释放条件,各台Slave上的JVM需要相互通信才能确定,实现困难且即使实现了也难免存在延时,这样就不能保证真实的并发。所以目前JMeter的做法是仅支持单个JVM。

三、应用案例

这里以ECshop前台系统登录并发为例。

假设默认50个用户并发登录。

添加同步定时器,将释放线程数设置为50,超时时间设置为1000ms。

如下图所示:

今天的分享就到此结束了,大家还有什么不懂的可以评论区下提问哈,如果我的文章对你有所帮助的话,可以点赞三联支持一下

相关文章:

【性能测试】JMeter:集合点,同步定时器的应用实例!

一、集合点的定义 在性能测试过程中,为了真实模拟多个用户同时进行操作以度量服务器的处理能力,可以考虑同步虚拟用户以便恰好在同一时刻执行操作或发送请求。 通过插入集合点可以较真实模拟多个用户并发操作。 (注意:虽然通过加入集合点可…...

21天学会C++:Day11----运算符重载

CSDN的uu们&#xff0c;大家好。这里是C入门的第十一讲。 座右铭&#xff1a;前路坎坷&#xff0c;披荆斩棘&#xff0c;扶摇直上。 博客主页&#xff1a; 姬如祎 收录专栏&#xff1a;C专题 目录 1. 知识引入 2. 运算符重载 2.1 operator<() 2.2 operator() 2.3 o…...

面经pc端项目

创建项目 安装脚手架-----创建项目------选择自定义 sass基础语法 https://www.sass.hk/ sass语法有两个:sass(旧) scss(新) 1.scss语法 和less语法类似,支持嵌套,支持变量… scss: $变量名 less: @变量名 $color:orange; .box{width: 400px;height: 400px;borde…...

三步在两台服务器间迁移conda环境

引言&#xff1a; 背景是我现在要跑的实验在一台服务器上跑有点来不及了&#xff0c;需要将conda环境和文件一起迁移到另一台服务器上。文件的迁移可以用scp或者rsync。但是conda虚拟环境的迁移则不行。 步骤&#xff1a; step 1 将当前的虚拟幻境信息写入environment.yml c…...

websocket服务部署在内网,app无法访问

描述&#xff1a;websocket服务部署在内网&#xff08;ws://&#xff09;&#xff0c;app无法访问外网&#xff0c;需要将内网地址映射到外网 解法&#xff1a;通过nginx配置ws代理&#xff0c;部署nginx的服务器连通的外网和内网&#xff0c;通过nginx配置将原有的ws请求转换…...

vs2010对于c++11的支持

不支持 using代替typedef变参模板for each...

OpenCV cv::Mat和QImage互相转换

在使用OpenCV和Qt进行图像处理时&#xff0c;经常需要将cv::Mat和QImage之间进行转换。下面是cv::Mat和QImage之间的相互转换方法&#xff1a; 将cv::Mat转换为QImage&#xff1a; cv::Mat cvImage; // 你的cv::Mat图像// 将cv::Mat转换为QImage QImage qtImage(cvImage.data…...

pgsql 主从搭建

在 PostgreSQL 中&#xff0c;主从复制&#xff08;Master-Slave Replication&#xff09;是一种常见的数据库高可用性和数据备份解决方案。它允许你创建一个主数据库服务器&#xff08;Master&#xff09;&#xff0c;并在一个或多个从数据库服务器&#xff08;Slave&#xff…...

JS中的数值精度问题(二)

一、精度范围&#xff0c;精度最多只能到53个二进制位 JavaScript 能够准确表示的整数范围在-2^53到2^53之间&#xff08;不含两个端点&#xff09;&#xff0c;超过这个范围&#xff0c;无法精确表示这个值。 国际标准IEEE 754规定&#xff0c;有效数字第一位默认总是…...

WPF——Control与Template理解

文章目录 一、前言二、控件三、模板3.1 DataTemplate3.2 ControlTemplate3.3 ContentPresenter 四、结语 一、前言 最近又翻看了下刘铁猛的《深入浅出WPF》&#xff0c;发现对模板章节中的部分内容有了更深的体会&#xff0c;所以写篇文扯扯。 文章标题是Control与Template&a…...

华为HCIA学习(一)

文章目录 一.根据考试题总结知识点&#xff08;一题一点&#xff09;二.上午学习三.下午学习四.今天只做了70题&#xff0c;需要的可以找我 一.根据考试题总结知识点&#xff08;一题一点&#xff09; 二.上午学习 ① VRP系统是VRP是华为公司从低端到高端的全系列路由器、交换…...

使用jmeter+ant+jenkins+git搭建自动化测试平台

最近正在学习自动化测试&#xff0c;于是随手搭建了一下jmeterantjenkinsgit平台。 接下来&#xff0c;我会按照jdk&#xff0c;jmeter&#xff0c;ant&#xff0c;jenkins,git这个顺序一步一步的搭建起来。 一、jdk。这个就不多说了。我用的是1.8版本的&#xff0c;配环境变…...

C# Winform中在DataGridView中添加Button按钮,操作Button按钮

.Net的DataGridView控件中&#xff0c;提供了一种列的类型&#xff0c;叫 DataGridViewButtonColumn &#xff0c;这种列类型是展示为一个 按钮&#xff0c;可以给button赋予相应的text&#xff0c;并且&#xff0c;此button可以用来做处理事件的判断依据。 DataGridViewButto…...

Docker 网络学习

docker的网络模式 当你开始大规模使用Docker时&#xff0c;你会发现需要了解很多关于网络的知识。Docker作为目前最火的轻量级容器技术&#xff0c;有很多令人称道的功能&#xff0c;如Docker的镜像管理。然而&#xff0c;Docker同样有着很多不完善的地方&#xff0c;网络方面…...

django创建web服务器

安装 pip install django 创建项目 django-admin startproject report django-admin startapp data //project下可创建多个app 执行使用 python manage.py migrate //orm代码到数据库 python manage.py runserver 0.0.0.0:80 权限管理 python manage.py createsuperuser 创建…...

极光笔记 | 推送服务数据中心选择:合规性与传输效率的双重考量

随着全球化进程的深入&#xff0c;跨境数据传输与存储问题已经变得愈发重要。推送服务的数据中心节点选择不仅关乎数据访问速度和用户体验&#xff0c;同时也直接牵扯到数据合规性和安全保障。EngageLab Push深知这一点&#xff0c;为了满足更多国际客户和全球用户触达需求&…...

Python灰帽编程——初识Python上

1. Python 简介 常用安全工具语言示例perljoomscan whatwebrubymetasploit-frameworkpythonsqlmap pocsuite3gogoby 1.1 Python 起源 1.1.1 语言的作者 贵铎范罗萨姆&#xff08;Guido van Rossum&#xff09;荷兰人于1989 年圣诞节始创了python。 大神就是大神&#xff0…...

OLED透明屏交互技术:开创未来科技的新篇章

OLED透明屏交互技术作为一项前沿的科技创新&#xff0c;正在以其高透明度、触摸和手势交互等特点&#xff0c;引领着未来科技的发展。 不仅在智能手机、可穿戴设备和汽车行业有着广泛应用&#xff0c;还在广告和展示领域展现出巨大的潜力。 那么&#xff0c;尼伽在这篇文章中将…...

揭秘Spring Boot内嵌Tomcat原理

tomcat 介绍 tomcat 是 web容器&#xff08;servlet 容器&#xff09;&#xff0c;不管请求是访问静态资源HTML、JSP还是java接口&#xff0c;对tomcat而言&#xff0c;都是通过servlet访问&#xff1a; 访问静态资源&#xff0c;tomcat 会交由一个叫做DefaultServlet的类来处…...

分类散点图 stripplot() 加辅助线axhline() 多图合一

分类散点图 stripplot 加辅助线axhline 多图合一 效果图代码 画图没有什么可说的&#xff0c;直接上图 效果图 代码 # 绘制图&#xff0c; 查看是否数值在阈值上 plt.figure(figsize(30, 18)) n 0 for header, value_list in info_dict.items():ref_value_list ref_info_dic…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写&#xff0c;中文译为后进先出。这是一种数据结构的工作原则&#xff0c;类似于一摞盘子或一叠书本&#xff1a; 最后放进去的元素最先出来 -想象往筒状容器里放盘子&#xff1a; &#xff08;1&#xff09;你放进的最后一个盘子&#xff08…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

Java线上CPU飙高问题排查全指南

一、引言 在Java应用的线上运行环境中&#xff0c;CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时&#xff0c;通常会导致应用响应缓慢&#xff0c;甚至服务不可用&#xff0c;严重影响用户体验和业务运行。因此&#xff0c;掌握一套科学有效的CPU飙高问题排查方法&…...

08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险

C#入门系列【类的基本概念】&#xff1a;开启编程世界的奇妙冒险 嘿&#xff0c;各位编程小白探险家&#xff01;欢迎来到 C# 的奇幻大陆&#xff01;今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类&#xff01;别害怕&#xff0c;跟着我&#xff0c;保准让你轻松搞…...

GitHub 趋势日报 (2025年06月06日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

解读《网络安全法》最新修订,把握网络安全新趋势

《网络安全法》自2017年施行以来&#xff0c;在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂&#xff0c;网络攻击、数据泄露等事件频发&#xff0c;现行法律已难以完全适应新的风险挑战。 2025年3月28日&#xff0c;国家网信办会同相关部门起草了《网络安全…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能

1. 开发环境准备 ​​安装DevEco Studio 3.1​​&#xff1a; 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK ​​项目配置​​&#xff1a; // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...