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. ...
随机推荐
- Python爬虫之urllib.parse详解
Python爬虫之urllib.parse 转载地址 Python 中的 urllib.parse 模块提供了很多解析和组建 URL 的函数. 解析url 解析url( urlparse() ) ur ...
- 流畅的Python (Fluent Python) —— 第二部分01
2.1 内置序列类型概览 Python 标准库用 C 实现了丰富的序列类型,列举如下. 容器序列 list. tuple 和 collections.deque 这些序列能存放不同类型的数据. 扁平序 ...
- Spring基础12——使用外部属性文件
1.使用外部属性文件 在配置文件里配置Bean时,有时需要在Bean的配置文件里引入系统部署的细节信息(例如:文件的路径.数据源配置信息等),而这些部署细节实际上需要和bean配置相分离,因为我们修改 ...
- Codeforces Round #426 (Div. 2) - B
题目链接:http://codeforces.com/contest/834/problem/B 题意:一共有26个门(A-Z表示),然后现在有n个人要走的门和k个守卫.每当有人要经过某个门时,门要一 ...
- MySQL新增用户及赋予权限
创建用户 USE mysql; #创建用户需要操作 mysql 表 # 语法格式为 [@'host'] host 为 'localhost' 表示本地登录用户,host 为 IP地址或 IP 地址区间 ...
- java实现队列和栈
队列:队列其实就是我们生活中的排队现象,先进入的先出,后进入的后出,代码实现如下: public class Queue<E> { private int front;//队头一端,只允许 ...
- [原创]Laravel 基于redis队列的解析
目录 参考链接 本文环境 为什么使用队列 Laravel 中的队列 分发任务 任务队列 Worker Last-Modified: 2019年5月10日11:44:18 参考链接 使用 Laravel ...
- 命令——tree
tree——以树形结构显示目录文件 [root@centos71 ~]# yum provides tree Loaded plugins: fastestmirror Loading mirror ...
- Serverless Kubernetes入门:对kubernetes做减法
背景 Kubernetes作为通用的容器编排系统,承载了广泛的应用和场景,包括CI/CD,数据计算,在线应用,AI等,然而由于其通用性和复杂性,管理一个kubernetes集群对于很多用户而言还是充满 ...
- mysql TOP语句 语法
mysql TOP语句 语法 作用:用于规定要返回的记录的数目. 语法:SELECT column_name(s) FROM table_name LIMIT number 说明:对于拥有数千条记录的 ...