jmeter常用配置元件介绍总结之线程组

系列文章目录
安装jmeter

jmeter常用配置元件介绍总结之线程组

    • 1.线程组(用户)
      • 1.1线程组
      • 1.1.setUp线程组和tearDown线程组
      • [1.2.Open Model Thread Group(开放模型线程组)](#1.2.Open Model Thread Group(开放模型线程组))
      • [1.3.bzm - Arrivals Thread Group(到达线程组)](#1.3.bzm - Arrivals Thread Group(到达线程组))
      • [1.4.jp@gc - Ultimate Thread Group(终极线程组)](#1.4.jp@gc - Ultimate Thread Group(终极线程组))
      • [1.5.jp@gc - Stepping Thread Group(递进线程组)](#1.5.jp@gc - Stepping Thread Group(递进线程组))
      • [1.6.bzm -Free-Form Arrivals Thread Group(自由到达线程组)](#1.6.bzm -Free-Form Arrivals Thread Group(自由到达线程组))

1.线程组(用户)

1.1线程组

功能 :是最基础最常用的线程组
参数讲解

  1. 在取样器错误后要执行的动作:设置请求遇到错误时,如何处理,是继续还是启动下一进程循环、停止线程、停止测试等
  2. 线程数:用于模拟用户的数量,如设置20,则表示20个虚拟用户
  3. Ramp-Up时间(秒):用多少时间来启动线程,如:20个线程,时间设置为10,则表示20/10=2,每秒启动2个线程,用10s时间启动完成20个线程
  4. 循环次数:勾选永远时会一直执行,不勾选输入数值时则循环指定次。如:20个线程,循环20次,则一共会产生20*20=400个请求
  5. 调度器--持续时间(秒):循环次数必须勾选永远才能使用,可以理解成不按次数,而是按时间来设置运行多久,如:设置为300,则线程会持续运行5分钟,5分钟后自动停止
  6. 调度器--启动延迟(秒):循环次数必须勾选永远才能使用,设置后点击运行后不会立即运行,要等待指定的时间后才会开始运行,如:设置为60,则点击运行按钮后,等待60s才开始运行

注意:调度器必须要把循环次数设置为永远才会生效


1.1.setUp线程组和tearDown线程组

功能 :执行前置操作和执行后置操作

如图,页面的参数配置和普通线程组基本一直,唯一的区别是执行的优先级不同,setUp线程组永远是最新被执行的线程组,tearDown线程组则是所以线程执行完后最后执行的

应用场景:如登录系统时,没有账号,则我们可以用setUp线程组去批量注册账号,然后普通线程组使用注册的账号来执行具体的业务操作,最后则用tearDown线程来批量退出账号登录

即:前置任务 -- 任务 -- 后置收尾任务

1.2.Open Model Thread Group(开放模型线程组)

功能 :以时间的方式,自定义测试模型、业务场景

可以配置调度计划,根据计划进行压测

rate(1/min):设置每分钟流量

random arrivals(10 min):设置持续时间

pause(1 min):设置暂停时间

/*comment*/:注释

可设置单位sec、min、hour、day,如:

rate(1/sec)

random arrivals(10 sec)

pause(1 sec)

如图演示设置的:

bash 复制代码
#每秒50tps,持续运行10s,然后暂停10s,启动下一阶段测试,每秒100tps,持续20s
rate(50/sec) random_arrivals(10 sec) pause(10 sec) 
rate(100/sec) random_arrivals(20 sec)


提示:以下的线程需要安装插件才能使用

在插件管理钟中搜索jpgc-casutg,然后下载

1.3.bzm - Arrivals Thread Group(到达线程组)

可用阶梯式的方式控制线程达到目标tps后,持续压测

参数说明:

Target Rate (arrivals/sec):设置目标tps

Ramp Up Time (sec):多长时间内达到目标tps

Ramp-Up Steps Count:启动时分多个阶梯达到目标tps

Hold Target Rate Time (sec):达到目标tps后,持续运行多长时间

Time Unit:设置时间单位,minutes/seconds,分/秒

Thread lterations Limit:线程迭代的次数限制

Log Threads Status into File:将线程状态记录到文件中

Concurrency Limit:限制最大并发限制

如图:用两个阶梯,在10秒内,达到120tps,持续运行10秒钟

1.4.jp@gc - Ultimate Thread Group(终极线程组)

功能 :可灵活的配置构建多种测试模型、场景,适合模拟有时间规律的场景
参数说明

Start Threads Count:设置该行的启动线程总数

Initial Delay:设置该行的线程启动等待时间

Startup Time:设置该行,用多长时间来启动线程总数,如:线程总数(Start Threads)设置100,启动时间(Startup Time)设置10s,则表示用10s启动100个线程

Hold Load For:设置该行,线程数全部启动后,持续运行的时间

Shutdown Time:设置改行,用多长时间来结束线程

1.5.jp@gc - Stepping Thread Group(递进线程组)

功能 :阶梯性,递增式的不断增加并发数
参数说明

This group will start:设置需要启动的总线程数

First, wait for:设置第一次启动线程时的延迟时间

Then start:设置开始递增前的用户数,先提前准备线程数,后面递增时是在这个值上递增的,类似于设置一个初始值,如:设置100,后面每次递增10,就是100--110--120...

Next, add:每次增加多少个用户数

using ramp-up:设置用多长时间来启动这些线程,这个时间是同时对Then start、Next, add作用的

如:Then start=100; Next, add=10;using ramp-up=5

则表示,用5秒时间启动100个线程后,每隔5秒又增加10个线程,直到达到设置的总线程数

Then hold load for:所有线程全部加载完后,持续运行的时间,如:总线程是500,则表示,达到500这个最高的峰值后,继续持续执行的时间

Finally, stop:每次停止的用户数

threads every:多长时间停止一次线程数

如:Finally, stop=10;threads every=5;

则表示,每5秒停止10个线程,直到所有的线程全部停止

1.6.bzm -Free-Form Arrivals Thread Group(自由到达线程组)

参数说明

Start Value:设置开始的线程数

End Value:设置结束时的用户数

Duration:设置从开始到结束线程数启动时间

Time Unit:设置时间单位,minutes/seconds,分/秒

Thread lterations Limit:线程迭代的次数限制

Log Threads Status into File:将线程状态记录到文件中

Concurrency Limit:限制最大并发限制

如:Start=100;End=200;Duration=60,

则表示,将线程数加载到100后,再用60s的时间逐渐将并发增加到200

相关推荐
小白学大数据3 分钟前
Python爬虫开发中的分析与方案制定
开发语言·c++·爬虫·python
魔道不误砍柴功1 小时前
简单叙述 Spring Boot 启动过程
java·数据库·spring boot
冰芒猓1 小时前
SpringMVC数据校验、数据格式化处理、国际化设置
开发语言·maven
失落的香蕉1 小时前
C语言串讲-2之指针和结构体
java·c语言·开发语言
枫叶_v1 小时前
【SpringBoot】22 Txt、Csv文件的读取和写入
java·spring boot·后端
wclass-zhengge1 小时前
SpringCloud篇(配置中心 - Nacos)
java·spring·spring cloud
路在脚下@1 小时前
Springboot 的Servlet Web 应用、响应式 Web 应用(Reactive)以及非 Web 应用(None)的特点和适用场景
java·spring boot·servlet
黑马师兄1 小时前
SpringBoot
java·spring
红中马喽1 小时前
JS学习日记(webAPI—DOM)
开发语言·前端·javascript·笔记·vscode·学习
数据小小爬虫1 小时前
如何用Java爬虫“偷窥”淘宝商品类目API的返回值
java·爬虫·php