有时候我们可能需要通过阶段式加压,来判断系统在不同并发量下的容错能力,这时候我们就需要用到bzm - Concurrency Thread Group
创建方法:测试计划->线程(用户)->bzm - Concurrency Thread Group
参数有:
Target Concurrency:目标并发(线程数)
Ramp Up Time:加速时间
Ramp-Up Steps Count:加速步骤计数
Hold Target Rate Time:保持目标速率时间
Time Unit:时间单位(分钟或者秒)
Thread Iterations Limit:线程迭代次数限制(循环次数)
Log Threads Status into File:将线程状态记录到文件中(将线程启动和线程停止事件保存为日志文件);
图中案例说明:
Target Concurrency: 360 预期客户端最大并发线程数为300
Ramp Up Time(min): 1 在1分钟内启动360个线程
Ramp-up Steps Count: 6 在上述时间内,分6次启动,即每次启动360/6=60个线程
Hold Target Rate Time (min):1达到目标并发线程数360后,再并发运行1分钟
为了能更直观看到对应时间正在运行线程数,我们可以通过监听器添加jp@gc - Active Threads Over Time:
通过途中我们可以看到系统每10秒并发启动60个线程,直到360个线程后保持360个线程一分钟。之后的图形下降,是这些线程跑完了自己的事务,直至完成
可以通过jp@gc - Transactions per Second查看系统的TPS
通过图可以大概看到在1.10左右开始出现失败的事务,系统在360个并发下还是不能做到完全稳定。