Jmeter系列(7)- 基础线程组Thread Group
如果你想从头学习Jmeter,可以看看这个系列的文章哦
https://www.cnblogs.com/poloyy/category/1746599.html
Thread Group基础线程组介绍

Thread Group的简单理解
- 线程组是一个测试计划的开始点
- 在一个测试计划中的所有元件都必须在某个线程组下
- 线程组决定Jmeter执行测试计划的线程数
Thread Group提供的主要作用
- 设置线程数
- 设置ramp-up period
- 设置执行测试的次数
Thread Group的独立性
Thread Group线程属性讲解

在取样器错误后要执行的动作
默认:继续
建议:继续
假设一个HTTP Sampler报错了,后面还有其他请求,最好肯定是继续执行下去啦
线程属性值
设置的线程属性值是【预期压力值】
而聚合报告是【压力测试的实际结果】
线程数
- Jmeter java进程下启动的线程,用来模拟真实用户数,1线程数 = 1用户数
- windows下,java进程最多能启动1000个线程
- Linux下,java进程最多能启动2000个线程
- 在Jmeter中,先加载线程,再跑测试任务,后释放线程
Ramp-Up时间(秒)
- 预期加载所有线程所需的总时间
- ramp up=0时,表示瞬时加压,启动线程的时间无限趋近于0
- 特别注意:在负载测试的时候,尽量把ramp up设置大一些,让性能曲线平缓,分析瓶颈点
循环次数
- 每个线程循环执行的次数,默认一次【便于理解:线程的迭代次数、重复发起请求的次数】
- 如果设置为永远,那么jmeter将以最大的可能去发送请求,以此测试出最大并发数
线程属性值的简单栗子

上图:2s内启动100个线程,并发送200个请求(100*2)【从启动线程到运行线程一共2s】
备注:如果2s内,200个请求不能全部运行完成,时间则会顺延下去
调度器Specify Thread Lifetime【scheduler】

调度器的作用:控制每个线程组运行的持续时间以及它在多少秒后再启动
Duration (seconds) :持续时间;线程组运行的持续时间
Startup Delay (seconds):启动延迟;测试计划开始后,线程组的线程将在多少秒后再启动运行
调度器和循环次数的关系
- 循环次数有固定值,持续时间不会生效,以循环次数为准
- 循环次数设置为永远,持续时间才会生效
调度器注意事项
当线程组运行完持续时间后,会逐步释放线程,不会一下子把所有线程释放掉,而释放线程也是需要时间的~
所以测试计划总的时间(右上角的时间)会 > 持续时间+启动延迟

Jmeter系列(7)- 基础线程组Thread Group的更多相关文章
- 『动善时』JMeter基础 — 38、JMeter中实现跨线程组关联
目录 1.JMeter中实现跨线程组关联说明 (1)JMeter中实现跨线程组关联步骤 (2)测试计划内包含的元件 2.用户登陆请求的相关操作 (1)进行登陆操作获取Cookie信息 (2)把Cook ...
- JMeter 阶梯式加压测试插件 Concurrency Thread Group
jmeter阶梯式加压测试:JMeter 阶梯式加压测试插件 Stepping Thread Group 由于Stepping Thread Group插件相对来说过于老旧,已不被官方所推荐. 所以这 ...
- JMeter 阶梯式加压测试插件 Stepping Thread Group
在日常性能测试过程中,有时需要对被测对象不断的增加压力,直至达到某个值后,并持续运行一段时间.这里将借助jmeter插件模拟这种情况. 本文介绍在jmeter中,使用插件Stepping Thread ...
- JMETER的三个线程组
JMETER的三个线程组 Jmeter有三个线程组分类:Thread Group(线程组).setUp Thread Group.tearDown Thread Group,如下图所示: (1).th ...
- Jmeter之性能压测Stepping Thread Group 逐步增加并发数 阶梯式加压并发 (十五)
前段时间有描述过性能的测试类型 配置负载 Big Bang: 负载同时产生 Ramp up: 开始时候产生一定负载,然后每隔一段时间增加一些负载直到达到目标负载,这是典型模式 Ramp-up (wit ...
- Jmeter(三十三)Stepping Thread Group
碰巧最近在做性能测试,就记一下Jmeter的第三方插件Stepping Thread Group. 具体一些插件信息,可以去:jmeter-plugins.org去进行下载. 该插件目前是已经被弃用的 ...
- Jmeter 快速入门--初识线程组
添加线程组 (1)thread group(线程组),setup thread group相当于lr初始化“环境”的初始化脚本,teardown thread group相当于lr测试完毕后对应的清除 ...
- Jmeter操作之跨线程组传递参数
思路:将某一线程组内的变量通过“__setProperty”函数设置成jmeter的全局变量,在另一线程组中通过“__P”函数调用即可. 1.添加-后置处理器-BeanShell PostProces ...
- jmeter多用户登录跨线程组操作传值
项目需求: 需要登录两个用户A.B,用户A操作完后会通知B,然后B再操作,B操作完结束或者再通知A. 实现思路: 1. 设置两个线程组Ⅰ.Ⅱ,组Ⅰ添加cookie管理器,里面添加用户A的操作:组Ⅱ添加 ...
随机推荐
- python之常用模块ConfigParser
这个常见于.conf,.ini等类型的配置文件 下面先看一下如果通过python生成一个.ini文件 import configparser #2.x is ConfigParserconfig = ...
- Leetcode_239. 滑动窗口最大值
单调队列模板题,扫描一遍,队尾维护单调性,队头维护不超过大小为k的区间. code class Solution { public: vector<int> maxSlidingWindo ...
- C# 便捷实现可迭代对象间的赋值
目录 都是迭代,为啥我一定要用foreach 如果换成是字典呢? 关于 foreach 都是迭代,为啥我一定要用foreach 问题起源于本人的一个练手的扑克牌程序:洗完牌之后要发给场上的三人. ...
- Html,css构建一个对话框,练习201911281028
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...
- SVN同步代码问题集锦
1.删除文件后file missing警告 相关链接: http://blog.sina.com.cn/s/blog_63e26d560100ve00.htm ...
- [斯坦福大学2014机器学习教程笔记]第五章-控制语句:for,while,if语句
在本节中,我们将学习如何为Octave程序写控制语句. 首先,我们先学习如何使用for循环.我们将v设为一个10行1列的零向量. 接着,我们写一个for循环,让i等于1到10.写出来就是for i = ...
- centos默认终端bash美化、颜色设置
centos默认终端bash是一个很简单的界面,又无法通过像zsh一样直接安装主题和代码高亮插件,但是我们可以在bashrc的配置文件中通过代码实现一部分功能: 1.代码介绍: 这里推荐一篇大佬的文章 ...
- 1043 Is It a Binary Search Tree (25分)(树的插入)
A Binary Search Tree (BST) is recursively defined as a binary tree which has the following propertie ...
- 数据库学习 day2 检索数据
上一节我们介绍了什么是数据库,以及一些基本的数据库术语 这一课介绍使用SELECT语句从表中检索一个或多个数据列. 关键字(Keyword) 作为SQL组成部分的保留字.关键字不能用作表和列的名字(类 ...
- 「一闻秒懂」你了解goroutine和channel吗?
开源库「go home」聚焦Go语言技术栈与面试题,以协助Gopher登上更大的舞台,欢迎go home~ 背景介绍 大家都知道进程是操作系统资源分配的基本单位,有独立的内存空间,线程可以共享同一个进 ...