10. 阶梯加压线程组Stepping Thread Group详解
2024年10月28日大约 2 分钟
10. 阶梯加压线程组Stepping Thread Group详解
前言
- 使用插件:Custom Thread Groups
- Stepping Thread Group是第一个自定义线程组
- 但随着版本的迭代,已经有更好的线程组代替Stepping Thread Group了【Concurrency Thread Group】,所以说Stepping Thread Group已经是过去式了但还是要介绍下的滴
Stepping Thread Group 线程组的特性
- 有预览图显示估计的负载
- 可延迟启动线程组
- 可持续增加线程负载
- 可设置最大负载的持续运行时间
Stepping Thread Group的作用
- 减少服务器的瞬时压力,做性能测试应该逐步增加压力,而不是瞬时加压
- 逐步增压越平缓越好,更容易从结果看到多少压力值下,有性能瓶颈
Stepping Thread Group参数详解
- this group will start:表示总共要启动的线程数;若设置为 100,表示总共会加载到 100 个线程
- first,wait for:从运行之后多长时间开始启动线程;若设置为 0 秒,表示运行之后立即启动线程
- then start:初次启动多少个线程;若设置为 0 个,表示初次不启动线程
- next add:之后每次启动多少个线程;若设置为 10个,表示每个梯次启动 10 个线程
- threads every:当前运行多长时间后再次启动线程,即每一次线程启动完成之后的持续时间;若设置为 30 秒,每梯次启动完线程之后再运行 30 秒
- using ramp-up:启动线程的时间;若设置为 5 秒,表示每次启动线程都持续 5 秒(和基础线程组的ramp-up一样意思)
- then hold load for:线程全部启动完之后持续运行多长时间,如图:设置为 60 秒,表示 100 个线程全部启动完之后再持续运行 60 秒
- finally,stop/threads every:多长时间释放多少个线程;若设置为 5 个和 1 秒,表示持续负载结束之后每 1 秒钟释放 5 个线程
从负载预览图,读懂所有参数
- 从第0秒开始启动线程,每 5 秒内启动10个线程并且运行30秒,以此循环,直到一共启动了 100 个线程
- 当已启动 100 个线程后,持续负载运行60秒
- 持续负载运行60秒后,每 1 秒释放五个线程,直到全部线程被释放**【注意:线程释放过程中,线程依然在运行】**
结合Active Threads Over Time监听器
- 运行Stepping Thread Group需要和Active Threads Over Time结合起来使用,这样能看到动态的阶梯加压效果
- 可以看到和Stepping Thread Group负载预览图基本一致,证明加压效果是正常的