Jmeter Ultimate Thread Group 和 Stepping Thread Group

线程组:使用复杂场景的性能测试
有时候我们做性能测试时,只依靠自带的线程组,显示满足不了性能测试中比较复杂的场景,下面这两种线程组可以帮助你很好的完成复杂的场景

第一种:Stepping Thread Group


在取样器错误后要执行的动作

  继续:即取样器执行错误后(失败的接口),会继续向下执行后面的接口,直到整个线程完成

  Start Next Thread Loop:即取样器执行错误后,终止当前循环,进入下一个循环;

  停止线程:即取样器执行错误后,停止当前线程;

  停止测试:即取样器执行错误后,等待当前执行的采样器结束后停止执行测试;

  Stop Test Now:即取样器执行错误后,出现错误立刻终止测试;


1、This group will start 50 threads:单台负载机,线程组启动的线程总数为50个。

2、First,wait for 8 seconds:等待8秒后开始起线程(实际7秒就开始了)。

3、Then start 5 threads:最开始时启动5个线程。

4、Next,add 10   threads every 10 seconds  using ramp-up 5 seconds:在5秒内启动10个线程,运行10秒,以此类推。

5、Then hold load for 50 seconds:单台负载机启动的线程数达到50后,再持续运行60秒。

6、Finally,stop 25   threads every 2 seconds:25个线程停1次,等2秒后再停25个线程


第二种:Ultimate Thread Group(终极线程组、阶梯线程组)

比如有这样的一个场景:
  50个用户(线程数),5秒后开始逐步请求,且每秒启动5个(10秒内全部启动全部线程数),全部线程启动后运行1分钟,且不要求全部停止,而是逐步停止(每秒停止2个用户即线程)

我们该如何做呢???

如果用普通的线程组其实也可以,但是没有用户启动或者停止的走势我们看到,不够直观,另外不能做更复杂的需求,这时我们可以用Ultimate Thread Group。

Ultimate Thread Group 提供了一个"Threads Schedule" 线程计划表。

添加之后有这样一个页面,我们先了解一下这些页面的功能或作用。

1、Start Threads Count:线程数量

2、Initial Delay,sec:每组开始添加到测试执行之前的延迟(xx秒开始启动线程)

3、Startup Time ,sec:线程组的加速期(xx秒全部启动)

4、Hold Load For,sec:在所有线程启动后运行的时间(只针对该行,每个线程组都有自己的Intial Delay“初始延迟”值)

5、Shutdown Time:所有线程组关闭的速度(xx秒后全部停止)

按照场景设置的值如下图所示:


我们如果有更复杂的场景:
  场景二:比如第一批用户是上图的场景,但是还会有第二批用户又是一种场景,第三批、第四批等等、而这些场景中有部分重合,那么可以继续添加线程组(比如又添加一个),但是这两行不是每一列的值累加后再除以2的,而是每种场景根据自己的规则进行,然后计算后的值再进行累计展示。

例如双十一买物品,0点后开始疯狂  抢购(第一批用户),可能有一部分人5分钟后才进入,那这个就是第二批用户,那此时第一批和第二  批会存在同时请求的情况。

附赠:并发线程:bzm - Concurrency Thread Group(阶梯式请求)

1、Target Concurrency:线程数(用户数)

2、Ramp Up Time:加速时间(xx分后全部启动所有线程)

3、Ramp-Up Steps Count: 阶段数(在加速时间内分为几个阶段),每一阶段直接递增(并发)xx用户数(线程数)

4、Hold Target Rate Time:所有线程启动后,运行持续时间

5、Time Unit:时间单位(分钟或者秒),针对"加速时间"和"运行持续时间",一般我们选择默认就可以(分钟)

6、Thread Iterations Limit:线程迭代次数(循环次数)

7、Log Threads Status into File:将线程状态记录到文件中(将线程启动和线程停止事件保存为日志文件,txt格式文件即可)

也适用于分批请求的场景,但是没有 Ultimate Thread Group线程组的阶梯灵活

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

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

相关文章

Socket类

2.2 Socket类 Socket 类:该类实现客户端套接字,套接字指的是两台设备之间通讯的端点。 构造方法 public Socket(String host, int port) :创建套接字对象并将其连接到指定主机上的指定端口号。如果指定的host是null ,则相当于指定地址为回送…

Appium —— 移动应用自动化测试开源工具!

Appium介绍 Appium是一个用于自动化移动应用程序的开源工具,它支持iOS和Android平台。通过Appium,开发人员可以使用各种编程语言(如Java、Python、Ruby等)编写测试脚本,以自动化测试移动应用程序的功能和用户界面。Ap…

基于springboot+vue的小区团购管理

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

如何在Windows系统使用VS Code制作游戏网页并实现无公网IP远程访问

文章目录 前言1. 编写MENJA小游戏2. 安装cpolar内网穿透3. 配置MENJA小游戏公网访问地址4. 实现公网访问MENJA小游戏5. 固定MENJA小游戏公网地址 前言 本篇教程,我们将通过VS Code实现远程开发MENJA小游戏,并通过cpolar内网穿透发布到公网,分…

《操作系统实践-基于Linux应用与内核编程》第10章--实验 Qt聊天程序

前言: 内容参考《操作系统实践-基于Linux应用与内核编程》一书的示例代码和教材内容,所做的读书笔记。本文记录再这里按照书中示例做一遍代码编程实践加深对操作系统的理解。 引用: 《操作系统实践-基于Linux应用与内核编程》 作者:房胜、李旭健、黄…

微信小程序调试、断点调试

1、wxml 查看对应的页面组件 2、console面板可以用来打印信息 3、sources 用来断点调试 4、network面板用来调试接口 5、storage面板 可以查看每个key对应的value内容,这些数据在用户使用小程序时被持久化保存在本地。

【mac M3】idea删除不用或者失效的jdk

【mac M3】idea删除不用或者失效的jdk 不用(重复)或者失效的jdk如下: 重复或者已失效的JDK版本出现在下拉列表中不仅影响美观,也影响效率,删除jdk的步骤如下: 步骤1.点击File 步骤2.选择Project Structure…

【C语言】文件操作揭秘:C语言中文件的顺序读写、随机读写、判断文件结束和文件缓冲区详细解析【图文详解】

欢迎来CILMY23的博客喔,本篇为【C语言】文件操作揭秘:C语言中文件的顺序读写、随机读写、判断文件结束和文件缓冲区详细解析【图文详解】,感谢观看,支持的可以给个一键三连,点赞关注收藏。 前言 欢迎来到本篇博客&…

Java AOP 简单实例演示

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

WT32-ETH02 plus 串口转以太网开发,WT32-ETH01网关开发板升级款!

广受欢迎的WT32-ETH01网关开发板迎来了升级。 就是这款启明云端新推出的嵌入式串口转以太网开发板——WT32-ETH02 plus。应广大客户的需求,在WT32-ETH01的基础上增加了POE供电,可广泛应用于智能家居和网关等应用。开发板搭载2.4GHz Wi-Fi和蓝牙双模的SO…

一键部署灵境矩阵,属于自己的ai智能平台。

灵境矩阵 | 想象即现实 “灵境杯”智能体创意大赛,瓜分百万超级奖励 打造专属AI智能平台:一键部署灵境矩阵的无限可能 在数字化浪潮席卷全球的今天,人工智能技术已逐渐成为推动社会进步的关键力量。面对这一趋势,许多企业和个人…

永续合约多空双开“戴套”策略的逻辑是什么,胜率惊人的96%是怎么做到的,其实并没有想的那么复杂,会代码的都可以写出来

为什么叫多空双开“戴套”量化策略呢,因为这个策略的特点是永远有一个仓位是被套的,但是这个不影响我们盈利,具体怎么实现大家看下面这个图就明白是怎么回事了。 这个策略的逻辑很简单也容易理解,就是多空双开,盈利平仓…

FREERTOS空闲任务和低功耗

空闲任务 空闲任务是 FreeRTOS 必不可少的一个任务,其他 RTOS 类系统也有空闲任务,比如uC/OS。看名字就知道,空闲任务是处理器空闲的时候去运行的一个任务,当系统中没有其他就绪任务的时候空闲任务就会开始运行,空闲任…

slab分配器

什么是slab分配器? 用户态程序可以使用malloc及其在C标准库中的相关函数申请内存;内核也需要经常分配内存,但无法使用标准库函数;linux内核中,伙伴分配器是一种页分配器,是以页为单位的,但这个…

基于 Echarts + Python Flask ,我搭建了一个动态实时大屏监管系统

一、效果展示 1. 动态实时更新数据效果图 2. 鼠标右键切换主题 二、确定需求方案 支持Windows、Linux、Mac等各种主流操作系统;支持主流浏览器Chrome,Microsoft Edge,360等;服务器采用python语言编写,配置好python环…

计算机设计大赛 题目: 基于深度学习的疲劳驾驶检测 深度学习

文章目录 0 前言1 课题背景2 实现目标3 当前市面上疲劳驾驶检测的方法4 相关数据集5 基于头部姿态的驾驶疲劳检测5.1 如何确定疲劳状态5.2 算法步骤5.3 打瞌睡判断 6 基于CNN与SVM的疲劳检测方法6.1 网络结构6.2 疲劳图像分类训练6.3 训练结果 7 最后 0 前言 🔥 优…

Orange3数据预处理(公式组件)

公式 为您的数据集添加新特征。 输入 数据:输入数据集 输出 数据:带有额外特征的数据集 公式组件允许通过使用用户定义的表达式来计算新列。结果列可以是分类的、数值的或文本的。 对于数值变量,只需提供名称和表达式。 1.构建变量列表…

学点儿Java_Day7_在实体类当中IDEA无法进行单元测试(@Test没有启动按钮)

在敲代码体会继承和访问修饰符的时候忽然遇到了单元测试不管用的情况,表现为没有启动按钮   经过一番折腾,发现我的测试是在具有构造函数的实体类Person当中进行的,当我把所有的构造函数删除后,启动按钮又出来了,加…

水电能源智能化监控系统

水电能源智能化监控系统是利用现代信息技术,对水电站的运行状态、设备性能、环境参数等进行实时监测和管理的一种智能化系统。随着我国水电能源事业的快速发展,水电能源智能化监控系统在水电能源行业中的应用越来越广泛,为我国水电能源事业的…

关于继承是怎么样的?那当然是很好理解之

本文描述了关于继承的大部分知识,但是并不全,每篇博客之间的知识都有互串,所以需要把几篇文章合起来看,学会融会贯通! 温馨提示:使用PC端观看,效果更佳! 目录 1.继承是什么 2.什…