JMeter jp@gc - stepping thread group插件

本文详细介绍了一个出单接口的压力测试案例,使用JMeter进行200并发测试,旨在验证接口响应时间和出单成功率。文章提供了测试步骤、配置方法及结果分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是一个出单接口压力测试的小例子,了解一下压力测试最最基础的基础。出单接口是用来保险出单的,不需要在UI界面下一步下一步的出单,接口一调数据入库完事~~~。再啰嗦一句接口应该都知道是什么吧?一个完整的系统可以大概分为3个部分:前端,后台,数据库。前端传数据给后台,后台将数据入库并将数据库返回数据传给前端做页面展示。接口就在后台部分。接口接收前端的参数即请求报文,响应报文为返回数据和提示信息。

测试步骤:

(1)   lib/ext下添加插件JMeterPlugins-Extras.jar和JMeterPlugins-Standard.jar

(2) 测试计划添加线程(用户)jp@gc - stepping thread group

(3) 添加http请求

(4)   添加聚合报告

(5)   添加查看结果树

(6) 添加CSV数据文件设置

JMeter 3.1 地址:https://pan.baidu.com/s/1wPgbwS1dzWdsleS11wJ-Dw   提取码:oe5t

JMeterPlugins-Extras.jar 地址:https://pan.baidu.com/s/1H2tBWGV2FClyFnKWUP2_IA   提取码:9sh6

JMeterPlugins-Standard.jar 地址:https://pan.baidu.com/s/1vPVXty2ZyiAr68v1wWss0w   提取码:q95o

ServerAgent-2.2.3 地址:https://pan.baidu.com/s/1WnQFFsw7DMF6lYN87s-Eng   提取码:4wry

  • 案例:

测试目的

200并发下: 

  1. 出单接口响应时间1s内
  2. 出单成功率100%

执行方案

  1. 测试工具:Jmeter
  2. 执行时间:工作日白天(a.白天应急能力强 b.获取保险公司真实的压测数据)
  3. 场景:从100并发开始,每60s加压50并发,直至达到目的并发数(中途发现问题随时停掉)并维持5min,之后保持每60s停止50并发的速率关闭
  4. 结果:tps、响应时间、并发数的关系图表(硬件占用数据无法监控,需保险公司关注)
  • 操作步骤

1、安装插件

将JMeterPlugins-Extras-1.4.0.zip解压,找到lib/ext文件夹里的JMeterPlugins-Extras.jar放到JMeter安装目录的lib/ext里面,

同理将JMeterPlugins-Standard-1.4.0.zip解压,lib/ext下的JMeterPlugins-Standard.jar放到JMeter安装目录的lib/ext里面即可。如下图

插件安装好之后运行JMeter,可以看到插件已经安装好了

2、使用jp@gc - Stepping Thread Group插件

右键测试计划->添加->Threads(Users)->jp@gc - Stepping Thread Group

控制面板介绍

 

l  This group will start Max threads - 设置单台负载机,线程组启动的线程总数为Max个

l  First,wait for N seconds - 启动第一个线程之前,需要等待N秒

l  Then start N threads - 设置最开始时启动N个线程

l  Next add N1 threads every N2 seconds, using ramp-up N3 seconds - 然后,每隔N2秒,在N3秒内启动N1个线程

l  Then hold load for N seconds - 单台负载机启动的线程总数达到Max之后,持续运行N秒

l  Finally,stop N1 threads ervery N2 seconds - 最后,每隔N2秒,停止N1个线程数。

最高200并发,100并发开始,0s内立即启动50个线程运行60s,达到最高并发后维持300s,之后保持每60s停止50并发的速率关闭。

 

设置好之后,添加刚才的出单请求,查看结果数,聚合报告,点击绿色三角号运行就可以了,最重要就是聚合报告。下图表示压测过程中,一共发送了526个请求,所有请求的平均响应时间为2.001s,95%的请求的响应时间为2.877s,99%的请求的响应时间为3.457s,错误率为0,吞吐量为3.6/sec

压测小例子完毕。这里压测响应时间为2.001s没有达到压测目标1s内。如果在实际压测过程中还产生了其他问题以及都有什么解决办法,欢迎大家留言讨论!!!

转载于:https://www.cnblogs.com/wsy0202/p/11497459.html

### JMeterStepping Thread Group的用法和配置 #### 添加Stepping Thread Group到测试计划 为了在JMeter中使用Stepping Thread Group,需先将其添加至测试计划。通过右键点击测试计划节点,在弹出菜单中依次选择`添加 -> 线程(用户) -> jp@gc - Stepping Thread Group`来完成操作[^2]。 #### 配置基本参数 一旦成功添加了Stepping Thread Group组件之后,便可以对其进行详细的参数设定: - **名称**: 可自定义该线程组的名字以便识别。 - **注释**: 提供额外的信息描述此线程组的作用或目的。 - **启动延迟时间 (ms)**: 设置首次执行前等待的时间间隔。 - **初始线程数**: 定义模拟用户的起始数量。 - **最终线程数**: 设定结束时达到的最大并发用户量。 - **每秒增加/减少的线程数**: 控制每次循环期间新增或移除虚拟用户的速率。 - **保持最大线程数持续时间(s)**: 当到达预设的最大用户数目后维持这一状态多长时间。 - **斜坡上升周期数(cycles)**: 表明整个过程中有多少次完整的增减过程;如果设置为0,则表示无限循环直到手动停止运行[^3]。 #### 应用场景实例化说明 假设要创建一个逐步提升负载直至峰值再逐渐回落的压力测试方案,具体做法如下所示: ```plaintext 初始线程数: 10 最终线程数: 50 每秒增加/减少的线程数: 5 保持最大线程数持续时间(s): 60 斜坡上升周期数(cycles): 1 ``` 这意味着从最初的10个并发请求开始,每隔一秒就增加五个新的连接,直到总数达到五十为止,并在此水平上停留一分钟,随后按照相同的速度递减排放流量回到起点[^1]。 #### 实现代码片段展示 虽然对于图形界面工具而言并不涉及编程实现细节,但如果想要自动化构建此类结构化的测试脚本,可以通过命令行方式调用API接口或者编写Groovy/Jython等脚本来辅助完成任务。下面给出一段简单的Python伪代码用于示意如何动态调整这些属性值: ```python from jmeter_api.basics.thread_group import BasicThreadGroup, ThreadGroupAction thread_group = BasicThreadGroup( name="My Step Thread", comments="A stepping thread group example.", num_threads_initial=10, rampup_period_ms=0, loop_count=-1, scheduler=False, duration=None, delay=None, on_sample_error=ThreadGroupAction.CONTINUE, ) # Set specific properties for stepping behavior thread_group.set_property('Loop Controller', 'continue_forever', False) thread_group.set_property('jp@gc - Stepping Thread Group.maxThreads', 50) thread_group.set_property('jp@gc - Stepping Thread Group.startUsersPerSec', 5) thread_group.set_property('jp@gc - Stepping Thread Group.rampUpPeriodInMinutes', 1) thread_group.set_property('jp@gc - Stepping Thread Group.holdMaxTimeInSeconds', 60) thread_group.set_property('jp@gc - Stepping Thread Group.stepRampUpCyclesCount', 1) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值