jmeter 线程组 Open Model Thread Group & 阶梯式压测、高峰流量压测

简介

Open Model Thread Group 是5.4.1 版本中引入的一个实验性线程组,可以弹性模拟负载测试。例如设置多个线程模式,再根据这些线程模式调整不同的并发数、暂停时间。由于Open Model Thread Group 是一个实验性线程组,可能会存在一些限制和不确定性。

目录

[1. 基本用法](#1. 基本用法)

[1.1. 界面说明](#1.1. 界面说明)

[1.2. 使用说明](#1.2. 使用说明)

[2. 压力测试场景](#2. 压力测试场景)

[2.1. 递增式压测](#2.1. 递增式压测)

[2.2. 限时活动高峰流量](#2.2. 限时活动高峰流量)

[2.3. 随机流量](#2.3. 随机流量)


1. 基本用法

1.1. 界面说明

添加线程组

  • rate(1/min):设置每分钟线程数。
    • rate(60/min) 表示每分钟60个请求
    • rate(5/sec) 表示每秒钟5个请求。
  • random_arrivals(10 min):设置测试时长。
    • random_arrivals(1 min) 表示每个请求之间的到达时间在 1 分钟内是随机的。
  • pause(1 min):每个线程模式启动之间的暂停时间。
    • pause(1 min) 表示每个模式在启动后会等待 1 分钟,然后才会启动下一个模式。
  • /* comment */:注释。
  • Random seed:用于生成随机数的起始值(默认0)。

1.2. 使用说明

1、通过rate和random_arrivals控制线程数和测试时间

  • 测试10个线程,持续30s
bash 复制代码
rate(10/sec)
random_arrivals(30 sec) 

配置线程组,执行测试

活跃线程数如下:

每秒TPS如下:

2、设置A模型结束的暂停时间,继续测试B模型

  • A模型5个线程,运行10秒;结束后暂停3秒;B模型5个线程,运行10秒
bash 复制代码
rate(5/sec) random_arrivals(10 sec) 
pause(3 sec)
rate(5/sec) random_arrivals(10 sec) 

设置线程组

活跃线程数如下:

每秒TPS如下:

2. 压力测试场景

2.1. 递增式压测

1、1分钟从10个线程增加到100

bash 复制代码
rate(10/sec) 
random_arrivals(1 min) 
rate(100/sec)

线程组配置如下:

活跃线程数如下:

每秒TPS如下:

2、30秒内从10个线程增加到100个,持续100个线程2分钟

bash 复制代码
rate(10/sec) random_arrivals(30 sec) 
rate(100/sec) random_arrivals(2 min)

线程组配置如下:

活跃线程数如下:

每秒TPS如下:

2.2. 限时活动高峰流量

1、构造单个高峰期

bash 复制代码
rate(5/sec) random_arrivals(1 min) 
rate(5/sec) random_arrivals(15 sec) 
rate(50/sec) random_arrivals(15 sec) 
rate(50/sec)random_arrivals(10 sec) 
rate(5/sec) random_arrivals(1 min)

时间与线程数说明

  • 1分:平稳保持5个线程;
  • 15秒:从5个线程持续增加到50个线程;
  • 15秒:平稳保持50个线程;
  • 10秒::从50个线程持续下降到5个线程;;
  • 1分:平稳保持5个线程。

线程组配置如下 :

活跃线程数如下:

每秒TPS如下:

2、构造多个峰谷(方法同单峰谷)

bash 复制代码
rate(5/sec) random_arrivals(1 min) 
rate(5/sec) random_arrivals(15 sec) 
rate(50/sec) random_arrivals(15 sec) 
rate(50/sec)random_arrivals(10 sec) 
rate(5/sec) random_arrivals(0.5 min)
rate(5/sec) random_arrivals(5 sec) 
rate(80/sec) random_arrivals(10 sec) 
rate(80/sec)random_arrivals(5 sec) 
rate(5/sec) random_arrivals(1 min)

线程组配置如下:

活跃线程数如下:

每秒TPS如下:

2.3. 随机流量

1、打开函数对话框,生成随机10~50随机数

2、设置线程组(随机数可以代入线程数和测试时间)

bash 复制代码
rate(${__Random(10,50,)}/sec)
random_arrivals(1 min)

3、活跃线程数如下:

4、每秒TPS如下:

相关推荐
Saniffer_SH3 天前
【高清视频】Gen6 服务器还没到,Gen6 SSD 怎么测?Emily 现场演示三种测试环境
人工智能·驱动开发·测试工具·缓存·fpga开发·计算机外设·压力测试
糖果店的幽灵5 天前
软件测试接口测试从入门到精通:JMeter接口测试
软件测试·jmeter·接口测试·压力测试·性能测试
1candobetter5 天前
JMeter 性能压测监控实战
jmeter
wenying_443237446 天前
软件测试—JMeter—跨线程组关联
jmeter·压力测试
川石课堂软件测试7 天前
UI自动化测试|下拉选择框&弹出框&滚动条操作实践
开发语言·python·jmeter·ui·docker·单元测试·harmonyos
HBYKKJ7 天前
格雷希尔G70-370L050N定制款密封测试接头,专门针对法兰式凸缘管口而设计,解决SF6压力表的气密性测试难题
功能测试·压力测试·快速接头·气密性测试·密封测试接头
不剪发的Tony老师7 天前
SQLQueryStress:一款SQL Server查询压力测试工具
数据库·sqlserver·压力测试
AI thought9 天前
C语言企业项目实战(四)
c语言·单元测试·压力测试·企业项目·工程体系
测试19989 天前
Jmeter性能压测:TPS与QPS
自动化测试·软件测试·python·jmeter·测试用例·压力测试·性能测试
川石课堂软件测试9 天前
UI自动化测试|XPath元素定位实践
功能测试·测试工具·jmeter·microsoft·ui·postman·harmonyos