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 操作sqlite数据库及保存查询numpy类型数据(一)
# -*- coding: utf-8 -*- ''' Created on 2019年3月6日 @author: Administrator ''' import sqlite3 import nu ...
- Java web项目 本地配置https调试
一.创建密匙 网上有很多教程,就不在此赘述了. 假设最后生成的密匙为tomcat.keystore 密码为123456. 二.配置tomcat 首先,将密匙移到tomcat下根目录下. 进入conf文 ...
- Codeforces1221D. Make The Fence Great Again(dp)
题目链接:传送门 思路: 仔细想一下可以发现:每个位置最多就增加2个高度. 所以就可以有状态: f[i][j]表示保证前i个篱笆都是great时,第i个篱笆增加j的高度所需要的最小花费(1 <= ...
- 如何解决Bootstrap中分页不能居中的问题
尝试过1.text-align:center居中:2.margin:0 auto; 3.display: flex;justify-content: center;都不行 解决: 在外层多加一个nav ...
- 小程序里的自定义组件:组件的外部样式externalClasses的使用
启用外部样式: 自定义组件: v-tag 在html 引入 在组件写外部样式的css : .ex-tag { background-color: #fffbdd ; } 在组件使用该外部的样式 这个时 ...
- YNOI2016:掉进兔子洞 (莫队+bitset)
YNOI2016:掉进兔子洞 题意简述: 有 m 个询问,每次询问三个区间,把三个区间中同时出现的数一个一个删掉,问最后三个区间剩下的数的个数和,询问独立. 注意这里删掉指的是一个一个删,不是把等于这 ...
- MySQL数据库的自动备份与数据库被破坏后的恢复(3)
[2] 当数据库被修改后的恢复方法 数据库被修改,可能存在着多方面的原因,被入侵.以及相应程序存在Bug等等,这里不作详细介绍.这里将只介绍在数据库被修改后,如果恢复到被修改前状态的方法. 具体和上面 ...
- Flink Batch SQL 1.10 实践
Flink作为流批统一的计算框架,在1.10中完成了大量batch相关的增强与改进.1.10可以说是第一个成熟的生产可用的Flink Batch SQL版本,它一扫之前Dataset的羸弱,从功能和性 ...
- React Native 之组件的定义
App.js 也可以认为是一个组件,那么此文件中能定义多个组件吗? 方式一 import Hello from './Hello' export default class App extends C ...
- linux ubantu php composer安装
root@iZwz93telmwbh624e5zetqZ:~# php -v PHP 5.6.40-14+ubuntu16.04.1+deb.sury.org+1 (cli) Copyright (c ...