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线程组的阶梯灵活

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

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

相关文章

2024年【安全员-C证】考试资料及安全员-C证新版试题

题库来源:安全生产模拟考试一点通公众号小程序 安全员-C证考试资料是安全生产模拟考试一点通生成的,安全员-C证证模拟考试题库是根据安全员-C证最新版教材汇编出安全员-C证仿真模拟考试。2024年【安全员-C证】考试资料及安全员-C证新版试题 1、【多选题…

Java基础入门day17

day17 复习二分查找java package com.saas; ​ public class BinarySearch { ​public static void main(String[] args) {int[] nums {12, 21, 33, 77, 89, 90}; ​System.out.println(binarySearch(nums, 21));} ​public static int binarySearch(int[] arrs, int target)…

springBoot项目,无配置中心,怎么实现类似功能

实现EnvironmentPostProcessor import cn.hutool.http.HttpUtil; import org.springframework.boot.SpringApplication; import org.springframework.boot.env.EnvironmentPostProcessor; import org.springframework.boot.env.YamlPropertySourceLoader; import org.springfr…

springboot企业级抽奖项目业务一(登录模块)

开发流程 该业务基于rouyi生成好了mapper和service的代码,现在需要在controller层写接口 实际操作流程: 看接口文档一>controller里定义函数一>看给出的工具类一>补全controller里的函数一>运行测试 接口文档 在登录模块有登录和登出方…

在windows上安装Jenkins

jenkins安装 下载jenkins 官网:Jenkins download and deployment 官方文档说明:Jenkins User Documentation 安装jenkins1.点击下载好的安装包,点击Next 2.选择一个安装路径 如果系统是windows家庭版打不开策略就创建一个txt文件&#xff0c…

Android分区存储到底该怎么做

文章目录 一、Android存储结构二、什么是分区存储?三、私有目录和公有目录三、存储权限和分区存储有什么关系?四、我们应该该怎么做适配?4.1、利用File进行操作4.2、使用MediaStore操作数据库 一、Android存储结构 Android存储分为内部存储和…

NBlog Java定时任务-备份MySQL数据

NBlog部署维护流程记录(持续更新):https://blog.csdn.net/qq_43349112/article/details/136129806 为了避免服务器被攻击,给博客添加了一个MySQL数据备份功能。 此功能是配合博客写的,有些方法直接用的已有的&#xf…

Matlab中inv()函数的使用

在Matlab中,inv()函数是用来求解矩阵的逆矩阵的函数。逆矩阵是一个与原矩阵相乘后得到单位矩阵的矩阵。在数学中,矩阵A的逆矩阵通常用A^-1表示。 什么是逆矩阵 在数学中,对于一个n阶方阵A,如果存在一个n阶方阵B,使得…

Gradio官方文档

文章目录 构建您的第一个demo分享您的demo进度条受密码保护的应用程序The Interface class(接口类)Components Attributes(组件属性)多个输入和输出组件图像示例嵌套列表描述性内容手风琴中的附加输入The 4 Kinds of Gradio Inter…

Android: Gradle 命令

一、查看整个项目依赖传递关系 x.x.x (*) 该依赖已经有了,将不再重复依赖。x.x.x -> x.x.x 该依赖的版本被箭头所指的版本代替。x.x.x -> x.x.x(*) 该依赖的版本被箭头所指的版本代替,并且该依赖已经有了,不再重复依赖。 1. gradlew ap…

冰岛人[天梯赛]

文章目录 题目描述思路AC代码 题目描述 输入样例 15 chris smithm adam smithm bob adamsson jack chrissson bill chrissson mike jacksson steve billsson tim mikesson april mikesdottir eric stevesson tracy timsdottir james ericsson patrick jacksson robin patrickss…

2024年最新Anaconda3 2024版中Jupyter Notebook安装

一、 Anaconda3 2024版下载 1.下载:Free Download | Anaconda 2.等待 解释:默认选择等等下载 ,时间可能数分钟 3.安装 解释:打开刚刚下载的Anaconda Navigator,并如图安装低版本,高版本会直接报错 4. …

[zdyz]FreeRTOS笔记

FreeRTOS基础知识 1,任务调度器简介 调度器就是使用相关的调度算法来决定当前需要执行的哪个任务 抢占式调度 时间片调度 协程式调度 略 2,任务状态 运行态 正在执行的任务,该任务就处于运行态,注意在STM32中,同…

【Web】记录[长城杯 2022 高校组]b4bycoffee题目复现

目录 前言 环境准备 简单分析 EXP(两种打法) 生成Payload 恶意类 ①Spring命令执行回显类 ②Filter型内存马 前言 本地jar包运行打通了,远程500,nss靶机有问题,换了bugku就可( 主要记录下做题过程,纯菜狗,小…

深圳库卡机器人KR460控制柜维修快速解决

一、库卡机器人KR460控制柜常见故障类型 库卡机器人KR460控制柜可能出现的故障类型多种多样,常见的包括电源故障、通信故障、过热保护以及电路板损坏等。这些故障可能导致机器人不能启动、运行不稳定或突然停机等问题。 二、库卡机器人KR460控制柜维修前的准备 在开…

代码随想录刷题day29|非递减子序列全排列全排列II

文章目录 day29学习内容一、非递减子序列1.1、代码-错误写法1.1.1 多了一个return语句。1.1.2、nums[i-1] > nums[i],这个条件写错了,为什么呢?1. 忽略了回溯算法的动态决策过程2. 限制了可能的递增子序列的探索 1.2、代码-正确写法 二、全…

javaSwing超级玛丽

一、摘要 摘要 近年来,Java作为一种新的编程语言,以其简单性、可移植性和平台无关性等优点,得到了广泛地应用。J2SE称为Java标准版或Java标准平台。J2SE提供了标准的SDK开发平台。利用该平台可以开发Java桌面应用程序和低端的服务器应用程序…

小白学视觉 | 超详细!Python中 pip 常用命令

本文来源公众号“小白学视觉”,仅用于学术分享,侵权删,干货满满。 原文链接:超详细!Python中 pip 常用命令 相信对于大多数熟悉Python的人来说,一定都听说并且使用过pip这个工具,但是对它的了…

C语言例3-35:长度运算的例子

长度运算符的表现形式: sizeof(数据类型符) 或 sizeof(变量) 长度运算符的优先级: 与单目算术运算符、单目逻辑运算符、自增和自减运算符的优先级相同。上述优先级相同的运算符的结合性都是从右至左。 长度运算的例子 代码如…

python网络爬虫实战教学——urllib的使用(2)

文章目录 专栏导读1、前言2、URLError3、HTTPError4、urlparse5、urlunparse 专栏导读 ✍ 作者简介:i阿极,CSDN 数据分析领域优质创作者,专注于分享python数据分析领域知识。 ✍ 本文录入于《python网络爬虫实战教学》,本专栏针对…