十四、JMeter Concurrency Thread Group阶梯式加压
前言
- 在实际压测过程中用户在做不同操作之间有时间停顿,或者延迟,思考时间就是模拟用户的操作过程中的停顿的间
- 同时需要注意:步伐,速度,主要包括,大量用户发送请求和退出时间,控制迭代之间的时间,例如,现场用户10个,设置5秒内全部进入
- 压力测试时间:假如需要100个人同时测试20分钟,这里持续20分钟就是压测时间。
- 在以上几点中HP loadrunner 负载场景设置由为强大,而jmeter本身场景设置插件功能较弱,则需要使用 Stepping Thread Group 插件来完成
Stepping Thread Group的特性
- 可使用预览图显示设置的负载
- 可延迟启动执行各线程组
- 可持续增加执行负载
- 可设置最大负载的持续运行时间
Stepping Thread Group的作用
- 减少服务器在某个瞬间的压力,做性能测试应该持续加压,而是瞬间加压
- 逐步增压越平缓越好,更容易从结果看到多少压力值下,有性能瓶颈
安装的插件
打开JMeter上的plugin manager,点击AvailablePlugns下拉滚动条到底部,勾选Custom Thread Group,点击右下角的Apply Changes and Restart JMeter,安装好了会出现在Installed Plugins列表里。
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 个线程
负载预览图
,表示持续负载结束之后每 1 秒钟释放 5 个线程