一、基本线程组
基本线程组是压测的基本单元的集合,一个线程组可以下放多个组件,见下图
基本线程组只允许进行定量线程压测,其中:
- 线程数:表示线程组在运行之后线程最终开启的数量,也可以理解为同时多少个用户并发发起交易。
- Ramp-up时间(秒):表示经历多长时间拉起所有线程。如果配置0,那么表示在压测开始后瞬间启动所有线程,通常不建议配置0,因为如果配置的线程数很大且时间配置0的话,对系统冲击较大,建议配置几秒的缓冲时间。
- 循环次数:表示在每个线程交易发送的次数。如果线程数配置20,循环次数配置2。那么表示总发送交易量为20*2=40。
- 永远:勾选该选项,表示交易不停止,一直循环发送。
- 持续时间(秒):表示交易发送持续的时间,到点停止。
二、 阶梯压测线程组
阶梯压测线程组需要下载对应的jar包:JMeterPlugins-Standard.jar。
阶梯压测线程组,可以自动化的持续加压,适合压测出当前系统可以承载的最大并发,以及最高tps,配置选项见下图:
- 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 个线程。