一,阶梯式场景
该场景主要应用在负载测试里面,通过设定一定的并发线程数,给定加压规则,遵循“缓起步,快结束”的原则,不断地增加并发用户来找到系统的性能瓶颈,进而有针对性的进行各方面的系统优化
使用到的线程为:jp@gc - Stepping Thread Group (deprecated)
同时添加的监听器有:
- TPS:jp@gc - Transactions per Second
- 响应时间:jp@gc - Response Times Over Time
- 活跃线程数:jp@gc - Active Threads Over Time
- 点击率:jp@gc - Hits per Second
针对阶梯式场景的参数配置,说明如下:
- This group will start:给定的当前负载的并发用户数
- First, wait for:等待XX秒后开始启动
- Then start:0秒(初始化)启动XX并发用户数
- Next, add:每using ramp-up时间内启动XX的用户数
- threads every:每次加压阶梯下用户完成启动后保持运行XX秒
- using ramp-up:XX秒内完成Next, add的用户数的启动
- Then hold load for:This group will start并发用户数全部启动完成后保持运行XX秒
- Finally, stop:每隔threads every的时间减少XX用户数
- threads every:每隔XX秒减少Finally, stop的用户数
说明:给定负载并发用户数为100,从0秒开始,每2秒内增加10个并发用户数,2秒时刻完成10个并发用户数的启动后开始平稳运行20秒钟,依次下去,直到100个并发用户数全部都启动完成后,平稳运行60秒,然后每隔1秒减少5个并发用户数直到并发用户数减少为0时,负载测试结束。
完成以后可以去监听器中查看各种监控结果
二,波浪式场景(万能场景设计)
该场景主要用在分段时间压测和压力测试里面,分段时间压测比如收银系统,一天会出现高峰期、平稳期和闲时区,针对该场景我们就要设计成不同时间段的压力值不同,加压方式不同等等,压力测试我们只需要使用一个场景,并将压测时间设置长即可,同样的测试报告也用jpgc的监视器获得
使用到的线程为:jp@gc - UItimate Thread Group
在测试计划上:右键—>添加—>线程(用户)—>jp@gc - UItimate Thread Group
针对波浪式场景的参数配置,说明如下:
- Start Threads Count:给定当前时间段的并发用户数
- Initial Delay, sec:初始化时间,单位:秒(s)
- Startup Time, sec:启动时间,单位:秒(s)
- Hold Load For, sec:所有并发用户数启动完成后保持运行的时长,单位:秒(s)
- Shutdown Time:结束时间,单位:秒(s)
我们先用这个设计一个阶梯性的测试场景吧,如下图
这表示用户递增的数量变化趋势是10--50---100--200--500
开始10个用户,不延迟2s启动,运行600s,加压到50用户,延迟50s启动,启动时长为5s,持续运行550s,接着加压到100用户,延迟100s,启动消耗5s,持续运行500s,继续加压到200用户,延迟150s,启动消耗5s,运行450s,最后加压到500用户,延迟200s,启动消耗10s,持续运行400s,最后阶段的用户消耗2秒停止
我们再设计分段时间压测场景或者波浪压测场景
项目启动50用户无延迟,10s内启动,压测300s,20s后新增30用户,5秒启动,启动完就减压,接着150s后再加40用户,10s内启动完成就减压,在运行100s后,新增50用户,10s内启动,持续运行20s减压,最后等着第一次启动的50用户加压完成就可以停止了