JMeter性能测试入门-不同类型线程组的使用
jmeter不同线程组的详解
在做性能测试之前,我们来了解一下JMeter多个不同线程组的应用。首先,JMeter提供了三个基本的线程组,分别为:
- Thread Group
- setUp Thread Group
- tearDown Thread Group
其他线程组可以通过集成插件的方式使用,包括:
- bzm - Arrivals Thread Group
- bzm - Concurrency Thread Group
- bzm - Free-Form Arrivals Thread Group
- jp@gc - Stepping Thread Group
- jp@gc - Ultimate Thread Group
以上,可以通过右键测试计划->添加->Threads(Users),选择对应的线程组进行添加。
1、Thread Group、setUp Thread Group和tearDown Thread Group
(1)Thread Group是我们通常使用的线程,模拟用户数,每一个线程就相当于一个虚拟的用户;
(2)setUp Thread Group是一个特殊的线程组,用于执行测试之前的初始化操作;
(3)tearDown Thread Group是一个特殊的线程组,用于执行测试结束之后的回收工作;
以上,setUp Thread Group和tearDown Thread Group分别在测试前后执行;例如,在我们在执行压力测试前后,我们可以把登录操作放在setUp Thread Group,测试结束后将注销操作放在tearDown Thread Group;
详细说明如下图所示:
采样器执行出错之后如何处理:
continue:继续执行
start next thread loop:开始下一个循环
stop thread:停止当前线程
stop test:等待当前采样器执行结束后,停止整个测试
stop test now:立即停止所有测试
线程属性:
number of threads:并发线程数,模拟多少个虚拟用户操作
ramp-up period:达到指定线程需要的时间,即在该时间范围内达到设定的线程数
loop count:循环次数,如果不设定具体的值,就会一直循环下去,直到手动停止
调度器设置:
duration:压测持续时间
startup delay:启动延迟时间,即点击启动后在该时间之后才正式开始测试
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类似,不过是通过设置起始值、终止值和持续时间来达到压测目的。而且可以设置多个线程的集合。
文章属于转载
来源链接:https://blog.csdn.net/sinat_32434273/article/details/81119516
JMeter性能测试入门-不同类型线程组的使用的更多相关文章
- Jmeter性能测试入门(转)
出处:http://www.cnblogs.com/by-dream/p/5611555.html Jmeter性能测试步骤 1. 添加线程组之后,先设置这两项: 2. 添加一个http请求 被测的u ...
- 【转载】Jmeter 性能测试入门
[转载]Jmeter性能测试 入门 Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率. 熟练使用Jmeter后, 能用Jmete ...
- Jmeter性能测试 入门--转载
转载: Jmeter性能测试 入门 Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率. 熟练使用Jmeter后, 能用Jmete ...
- Jmeter性能测试 入门【转】
Jmeter性能测试 入门[转] Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率. 熟练使用Jmeter后, 能用Jmeter ...
- Jmeter性能测试入门(链接收藏)
Jmeter性能测试入门: http://www.cnblogs.com/TankXiao/p/4045439.html
- JMeter性能测试入门--偏重工具的使用
1.JMeter整体简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 它可以用于测试 ...
- JMeter性能测试入门--简单使用
1.JMeter整体简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 它可以用于测试 ...
- Jmeter性能测试 入门
Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率. 熟练使用Jmeter后, 能用Jmeter搞定的事情,你就不会使用LoadR ...
- jmeter性能测试入门
1.jmeter介绍2.jmeter变量环境部署3.jmeter目录结构4.jmeter Gui模式5.jmeter 非Gui模式6.jmeter 录制完显示乱码设置7.jmeter 结果分析 1. ...
随机推荐
- vue-cli proxyTable中跨域中pathRewrite 解释
问:proxyTable 里面的pathRewrite里面的‘^/iclient’:'' 什么意思? 答:用代理, 首先你得有一个标识, 告诉他你这个连接要用代理. 不然的话, 可能你的 html ...
- 2018-8-10-VisualStudio-修改配色
title author date CreateTime categories VisualStudio 修改配色 lindexi 2018-08-10 19:16:52 +0800 2018-2-1 ...
- linux添加头文件路径
gcc demo.c -o demo -I/tools/libevent/include -L/tools/libevent/lib -levent -I:头文件目录 -L:静态库目录 -l:静态库 ...
- macos升级Nodejs和Npm到最新版
第一步,先查看本机node.js版本: node -v 第二步,清除node.js的cache: sudo npm cache clean -f 第三步,安装 n 工具,这个工具是专门用来管理node ...
- Django【第11篇】:Django之分页升级版本(组件)
分页组件 一.分页的实现与使用 class Pagination(object): """ 自定义分页 """ def __init__(s ...
- 用C语音编写python的扩展模块,也就是python调c库
用C语音编写python的扩展模块,也就是python调c库 1.用C语言扩展Python的功能: http://www.ibm.com/developerworks/cn/linux/l-pyt ...
- Python---进阶---logging---logger
一.####用logging的四大组件来实现日志的功能 - 打印出函数执行的时间,日志的等级,日志的消息 - 用装饰器 - 不同的日志,要记录不同等级的日志消息 ------------------- ...
- 【GDOI2016模拟3.9】暴走的图灵机
题目 分析 我们发现当两个字符串合并时,a0.a1表示左右两个字符串中有多少个T,C表示合并处新增的T的个数,那么 a0=a1 a1=a0+a1+C 令s0和s1表示左右手两个字符串,那么每一次操作后 ...
- React Native 之FlatList
1.新建项目 2.因为要用到导航跳转, 所以添加依赖,,这里拷贝这个: "dependencies": { "@types/react": "^16. ...
- (贪心+队列)String
http://acm.hdu.edu.cn/showproblem.php?pid=6586 将26个字母各自放入队列中,并记下每个位置各字母的后缀和.往k个位置贪心的放字母,先从a开始尝试.首先字母 ...