简介
Open Model Thread Group 是5.4.1 版本中引入的一个实验性线程组,可以弹性模拟负载测试。例如设置多个线程模式,再根据这些线程模式调整不同的并发数、暂停时间。由于Open Model Thread Group 是一个实验性线程组,可能会存在一些限制和不确定性。
目录
1. 基本用法
1.1. 界面说明
1.2. 使用说明
2. 压力测试场景
2.1. 递增式压测
2.2. 限时活动高峰流量
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
rate(10/sec)
random_arrivals(30 sec)
配置线程组,执行测试
活跃线程数如下:
每秒TPS如下:
2、设置A模型结束的暂停时间,继续测试B模型
- A模型5个线程,运行10秒;结束后暂停3秒;B模型5个线程,运行10秒
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
rate(10/sec)
random_arrivals(1 min)
rate(100/sec)
线程组配置如下:
活跃线程数如下:
每秒TPS如下:
2、30秒内从10个线程增加到100个,持续100个线程2分钟
rate(10/sec) random_arrivals(30 sec)
rate(100/sec) random_arrivals(2 min)
线程组配置如下:
活跃线程数如下:
每秒TPS如下:
2.2. 限时活动高峰流量
1、构造单个高峰期
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、构造多个峰谷(方法同单峰谷)
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、设置线程组(随机数可以代入线程数和测试时间)
rate(${__Random(10,50,)}/sec)
random_arrivals(1 min)
3、活跃线程数如下:
4、每秒TPS如下: