适用场景:在实际的测试场景中,有时需要模拟阶梯型施压的场景,即:从某个点开始不断增加压力,直到达到某一值,然后持续运行一段时间,再继续加压,循环往复直到达到预期峰值,运行一段时间,然后再分批次退出。需要安装的插件:Stepping Thread Group
一、插件下载及安装
1.安装插件管理器
1)输入下载地址:https://jmeter-plugins.org/install/Install/https://jmeter-plugins.org/install/Install/
2)下载的包放至JMeter文件夹的\lib\ext目录下
3)重新启动打开jmeter,点击选项-Plugins Manager,选择Available Plugins标签,输入jpjc(后面加一个空格)搜索,勾选jpgc-Standard Set后,点击Apply Changes and Restart JMeter,即可完成插件安装,安装成功后,右击【测试计划】-->【添加】-->【线程】-->【jp@gc - Stepping Thread Group】,有此选项代表已安装成功
4)如果上述下载失败,可以访问下面的地址手动下载,下载地址:Download :: JMeter-Plugins.orghttps://jmeter-plugins.org/downloads/old/
5)下载后解压,将JMeterPlugins-Standard.jar放至JMeter文件夹的\lib\ext目录下,重新启动JMeter即可
二、实例场景
A.阶梯式,适用“缓起步,快结束”的场景
1.添加 Stepping Thread Group
右击【测试计划】-->【添加】-->【线程】-->【jp@gc - Stepping Thread Group】
2.配置参数(按照实际场景进行参数配置,后面根据运行结果可以再进行参数的修改)
参数说明:
1>This grop will start :线程最大用户数100
2>First,wait for:等待5秒,再进入用户
3>Then start:然后增加20个用户
4&5>Next add …… thread every :然后每隔10秒钟增加20个用户
6>using ramp-up:设置加速添加秒数,设置为0表示不设置加速时间,直接添加用户
7>Then hold load for:持续时间60秒
8&9>Finally,stop……threads every :每隔10秒退出20个用户
3.添加取样器
右击【线程组】-->【添加】-->【取样器】-->【http请求】
4.访问CSDN首页为例
5.添加监听器(Active Threads Over Time、Response Times Over Time、Transactions per Second)
插件含义(此处只统计了常用的一些插件):
jp@gc - Active Thread Over Time:不同时间活动用户数量展示
jp@gc - Transactions per Second(简称TPS):每秒事务数【常用】
jp@gc - Response Times Over Time(简称TRT):事务响应时间【常用】
jp@gc - PerfMon Metrics Collector:服务器性能监控数据采集器,需要配合ServerAgent监控插件使用
jp@gc - Ultimate thread group:阶梯压测线程组设置(多用于负载测试)
jp@gc - Throughput shaping timer :用来模拟指定的系统吞吐量
jp@gc - Intel - Thread Communication PerProcessor:前置处理跨线程组传递数据
jp@gc - Intel - Thread Communication PostProcessor:后置处理跨线程组传递数据
6.运行脚本,等待结果
每秒活跃线程数:
随时间的变化,响应时间的变化:
每秒处理的事务数:
B.波浪式,适用不同时间段压力值值不同,加压方式不同的场景
1.添加 Ultimate Thread Group
右击【测试计划】-->【添加】-->【线程】-->【jp@gc - Stepping Thread Group】
2.配置参数
参数说明:
1>Start Thread Count:当前所选时间段的并发用户数量
2>Initial Delay,sec:初始化时间,单位秒
3>Startup Time,sec:启动时间,单位秒
4>Hold Load For,sec:所有用户启动完成后保持运行的时长,单位秒
5>Shutdown Time:结束时间,单位秒
3.添加取样器
右击【线程组】-->【添加】-->【取样器】-->【http请求】
5.添加监听器(Active Threads Over Time、Response Times Over Time、Transactions per Second)
6.运行脚本,查看结果
每秒活跃线程数:
随时间的变化,响应时间的变化:
每秒处理的事务数: