jmeter----性能测试之jp@gc - Stepping Thread Group

本文介绍了性能测试的核心概念,包括思考时间、步伐和压力测试时间,并详细阐述了使用JMeter进行性能测试的步骤,如安装插件、添加SteppingThreadGroup和ActiveThreadsOverTime监听器来监控线程活动。

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

1.说明

什么是实际的性能测试???
1)思考时间:用户在做不同操作之间有时间停顿,或者延迟,思考时间就是模拟用户的操作过程中的停顿的间。
2)步伐,速度:主要包括,大量用户进来的时间和退出时间,控制迭代之间的时间,例如,现场用户20个,设置5秒内全部进入,就是这样的情况。
3)压力测试时间:假如需要500个人同时测试30分钟,这里持续30分钟就是压测时间。

2.步骤

第一步:插件安装

插件安装教程(点击即可查看)

插件下载地址:

(客户端插件下载地址) Download :: JMeter-Plugins.org

JMeterPlugins-Standard-1.4.0.zip   
JMeterPlugins-Extras-1.4.0.zip    

(服务端插件下载地址) GitHub - undera/perfmon-agent: Server metrics fetching agent, based on SIGAR
ServerAgent-2.2.1.zip  

第二步:添加jp@gc - Stepping Thread Group

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

 

 第三步:添加监听器jp@gc - Active Threads Over Time

 右键测试计划---->添加---->监听器---->jp@gc - Active Threads Over Time

完整添加HTTP Request后,点击运行测试,查看Active Threads Over Time运行结果。可查看线程陆续启动的曲线,到达设置的最大线程数后,将持续运行设置的时间,到达设置的持续时间后,陆续结束进程。

### 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、付费专栏及课程。

余额充值