Jmeter---不同线程组的使用介绍(转)
在添加线程组:发现线程组种类挺多的 翻查资料后对几个工具进行总结;

原本想写三个 在翻阅资料,后发现下面博文比较详情,
本文大部分来自:
https://blog.csdn.net/sinat_32434273/article/details/81119516
本文 jmeter 版本是5.0
=======================================================================================
右键测试计划->添加->Threads(Users),选择对应的线程组进行添加
基本的线程:
- Thread Group
- setup Thread Group
- tearDown Thread Group
通过插件形式添加的包括:
- bzm - Arrivals Thread Group
- bzm - Concurrency Threadp Group
- bzm - Free_From Arrivals Thread Group
- jp@gc - Stepping Thread Group(被弃用)
- jp@gc - Ultimate Thread Group
Thread Group、setUp Thread Group和tearDown Thread Group
(1)Thread Group是我们通常使用的线程,模拟用户数,每一个线程就相当于一个虚拟的用户;
(2)setUp Thread Group是一个特殊的线程组,用于执行测试之前的初始化操作;
(3)tearDown Thread Group是一个特殊的线程组,用于执行测试结束之后的回收工作;
Thread Group 线程组
线程组,或者可以叫用户组,进行性能测试时的用户资源池
是任何一个测试计划的执行开始点;
是控制器 和HTTP请求(采集器)必须在线程组内,监听器等其他组件,可以直接放在测试计划之外;
线程组 每个字段设置的定义:
按照下面三个功能进行区分:
1.区域1:在取样器出现错误后要执行的动作, 意思如果采样器出现错误,将按照此设置执行
1.1 continue(继续):将继续执行接下来的操作;
1.2 start next thread loop: 忽略错误,执行下一次循环;
1.3 stop thread :停止当前线程(不在进行此线程的任何操作);
1.4 stop test: 等等当前采样器执行结果后, 停止整个测试;
1.5 stop test now: 立即停止所有测试;
2. Thread Properties 线程属性:
2.1 number of threads : 并发线,模拟多少个虚拟用户操作
2.2 ramp_up period : 达到指定线程需要的时间,即在设置时间内线程数达到设定的线程数,不知道为所有线程全部启动;如图片表示线程数是50个,时间设置3,每秒需要启动的线程数是:50/3=16.666
2.3 loop count : 循环次数, 如果不设定具体的值,就会一直循环下去,知道手动停止
2.4 delay thread creation until need 直到需要时延迟线程的创建
2.5 sceduler :调度器
3.Scheduler Configuration 调度器设置:
3.1 duration(seconds):压测持续时间
3.2 start delay (seconds): 启动延迟时间,即点击启动后在改时间之后才正式开始测试
2、Concurrency Thread Group、Stepping Thread Group
Concurrency Thread Group和Stepping Thread Group都可用于阶梯式加压测试,但是由于Stepping Thread Group已经不再被官方推荐使用了,我们对Concurrency Thread Group进行简单介绍。

target concurrency:目标并发数
ramp up time(min):加速时间
ramp-up steps count:加速步骤计数
hold target rate time(min):保持目标费率时间
thread iterations limit:线程迭代次数限制
log threads status into file:将线程状态记录到文件
以上,以图形的方式展示了线程加压的过程。
例如:
100个线程组,加速时间为5分钟,10个加速步骤,保持目标费率10分钟:
10个加速步骤,每步10个线程组;
5分钟/10步=0.5,每步0.5分钟;即每0.5分钟加载十个线程组,直到达到100个;
达到100个线程组之后,所有这些线程组将继续运行,加压十分钟。
3、Ultimate Thread Group
该线程组与Concurrency Thread Group相类似,可以设置多个线程组的结合,各个时刻的运行结果都是几个线程组的叠加。

start threads count:目标并发数
initial delay:启动延迟时间
startup time:启动目标线程所需时间
hold load for:以目标线程并发持续加压时间
shutdown time:结束当前线程时间
4、Arrivals Thread Group
我们可以通过该线程组达到控制请求数的目的。

target rate:目标费率,每秒钟多少个请求数
ramp up time(sec):达到目标费率需要的时间
ramp-up steps count:达到目标费率需要多少步
hold target rate time(sec):保持目标费率时间
thread iterations limit:线程迭代次数限制
log threads status into file:将线程状态记录到文件
concurrency limit:最大并发数限制
例如:
目标费率为100,加速时间为10秒钟,5个加速步骤,保持目标费率10秒钟:
5个加速步骤,每步20增加个费率;
10s/5步=2,每步2秒钟;即每2秒钟加载20个费率,直到达到100;
达到100个费率之后,按照这个标准进行加压10秒钟;
以上,前十秒钟按照设置不断增加费率,请求数为(20+40+60+80+100)*2=600个;后十秒钟,按照每秒100个费率计算,请求数为100*10=1000个;共计1600个请求数。
5、Free-Form Arrivals Thread Group
该线程组与Arrivals Thread Group类似,不过是通过设置起始值、终止值和持续时间来达到压测目的。而且可以设置多个线程的集合。

Jmeter---不同线程组的使用介绍(转)的更多相关文章
- jmeter之线程组循环次数
有时候压测需要配置并发的持续时间,这个可以在jmeter中线程组页面进行配置 1.jmeter的循环次数2种使用场景 2.持续时间功能介绍 3.持续时间的使用场景 1.jmeter的循环次数2种使用模 ...
- jmeter之线程组的使用
线程组 在使用jmeter性能测试时,我们都得先添加个线程组,右键testplan-->添加-->Threads-->线程组.在线程组下执行. 问题:为了能够让jmeter在做性能测 ...
- jmeter跨线程组传值
在测试过程中,有时候需要jmeter跨线程组传值,jmeter本身又不具备此功能,那么,又该如何实现呢? 其实,我们可以通过BeanShell去实现. 实现过程如下: 1.线程组A中,使用正则表达式提 ...
- Jmeter跨线程组传递参数
Jmeter的线程组之间是相互独立的,各个线程组互不影响,所以线程组A中输出的参数,是无法直接在线程组B中被调用的. 但有时候为了方便,可以把不同模块接口放在不同线程组,就涉及不同线程组传参问题,比如 ...
- JMeter 中跨线程组 变量值传递的方法
关于jmeter中跨线程组 变量值传递的方法 找了好久,终于找到方法了,赶紧整理下来. 1.在线程组1 中使用__setProperty函数设置jmeter属性值(此值为全局变量值), ...
- Jmeter 跨线程组传递参数 之两种方法
终于搞定了Jmeter跨线程组之间传递参数,这样就不用每次发送请求B之前,都需要同时发送一下登录接口(因为同一个线程组下的请求是同时发送的),只需要发送一次登录请求,请求B直接用登录请求的参数即可,直 ...
- Jmeter 跨线程组传递参数 之两种方法(转)
终于搞定了Jmeter跨线程组之间传递参数,这样就不用每次发送请求B之前,都需要同时发送一下登录接口(因为同一个线程组下的请求是同时发送的),只需要发送一次登录请求,请求B直接用登录请求的参数即可,直 ...
- jmeter跨线程组传值和jmeter跨线程组调用
Jmeter的线程组之间是独立的,用Jmeter做接口测试或者是性能测试时,经常会涉及到多个线程组.那么如何将A线程组返回的变量信息提取后,传递给B,C线程组使用呢?这里以已登录接口返回的access ...
- Jmeter系列(45)- 详解 Jmeter 跨线程组取参数值的方法,免代码!
如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 前言 用过 Jmeter 的同学应该都 ...
- JMeter 线程组之ConcurrencyThreadGroup介绍
线程组之ConcurrencyThreadGroup by:授客 QQ:1033553122 测试环境 apache-jmeter-3.2 jmeter-plugins-manager-1.3.jar ...
随机推荐
- zencart批量表上传后 标题显示为网址 批量修改标题状态 SEO三要素
zencart批量表上传后 标题显示为网址,原因是导入批量表时,产品标题对应状态被重置为0导致的 批量修改标题状态 ', metatags_products_name_status ', metata ...
- P1086 花生采摘题解
这道题只是普通的模拟,不是贪心! 重点在于这句话:“然后再找出剩下的植株里花生最多的,去采摘它的花生”. 也就是,你下一个必须找到剩下花生最多的,而不是按照贪心思想来考虑在限定时间内的最优解 那么,应 ...
- QByteArray引发的bug
QByteArray引发的bug 在接收UDP数据的函数里,有如下代码片段 if(0x10 == data.size() && 0xCA == (unsigned char)data. ...
- shell报错:-bash: [: ==: 期待一元表达式 解决方法 ([: ==: unary operator expected)
shell报错:-bash: [: ==: 期待一元表达式 解决方法 ([: ==: unary operator expected) blogdaren 2015-02-26 抢沙发 14916人 ...
- 《Head First 软件开发》阅读五
结束开发循环:娟娟细流归大海 几乎完成了任务,而开发循环结束所要面对的问题是用户测试的安排.新的一轮重构和重新设计. 开发循环已经完成,但是还是有很多事情可以去做.系统测试必不可少,但是是由谁来做系统 ...
- 微信小程序-饮食日志_开发记录01
今天主要了解微信小程序的框架结构以及环境部署等. 小程序的框架主要分为: js.json.wxss.wxml等 和java web的内容相似,主要了解内部代码的使用情况和语言方式. 主要写了页面的框架 ...
- 【NOIP2016提高A组模拟10.15】打膈膜
题目 分析 贪心, 先将怪物按生命值从小到大排序(显然按这个顺序打是最优的) 枚举可以发对少次群体攻击, 首先将所有的群体攻击发出去, 然后一个一个怪物打,当当前怪物生命值大于2,如果还有魔法值就放重 ...
- 6423. 【NOIP2019模拟11.11】画
题目描述 Description Input Output Sample Input 3 2 3 3 6 5 1 2 1 3 Sample Output 15 Data Constraint 题解 迫 ...
- idea万能快捷键,你不知道的17个实用技巧!!!
IDEA里有一个万能快捷键(alt enter),功能非常强大,同一个快捷键,可以根据不同的语境提示你不同的操作,很多人可能还不了解这些功能,在处理代码的时候还手动处理,了解这些技巧之后,你编码也是一 ...
- 神经网络内在逻辑:没打开的AI“黑匣子”
转载自:http://www.elecfans.com/rengongzhineng/592200.html 伴随着大数据,AI在沉寂了多年之后,又迎来了新的高潮.在这场涉及大部分科学的革命中,人工神 ...
