Jmeter之性能压测Stepping Thread Group 逐步增加并发数 阶梯式加压并发 (十五)

 

前段时间有描述过性能的测试类型

  • 配置负载
  1. Big Bang: 负载同时产生
  2. Ramp up: 开始时候产生一定负载,然后每隔一段时间增加一些负载直到达到目标负载,这是典型模式
  3. Ramp-up (with step): 分段产生负载。比如总共需要1000用户的负载,但是我们需要观察系统在250, 500, 700负载下的表现,到达这些负载后需要跑一段时间再增加新负载
  4. Ramp up (with step), ramp down (with step): 跟上面类似,只是最后负载回归到0
  5. Delayed start: 延迟开始
  • 测试流程
  1. 对每个用例进行容量测试:负载策略一般是ramp-up或者ramp-up with step
  2. 对出现性能问题的用例进行隔离测试
  3. 对用例组进行容量测试
  4. 对用例组进行隔离测试:负载策略一般是ramp-up或者ramp-up with step
  5. 对用例组进行压力测试
  6. 对用例组进行稳定性测试

对于配置负载的加压方式的设置 需要安装一个插件 才能使用 Stepping Thread Group

 

下载链接:https://jmeter-plugins.org/downloads/old/

下载解压后,将JMeterPlugins-Standard.jar包放在jmeter安装目录的jmeter-3.0\lib\ext路径下,重新启动jemter即可。 这个在之前的文章也过安装方式。

功能参数设置
This group will start 100 threads:设置线程组启动的线程总数为100个; First,wait for N seconds:启动第一个线程之前,需要等待N秒; Then start N threads:设置最开始时启动N个线程; Next,add 10 threads every 30 seconds,using ramp-up 5 seconds:接下来,每30秒添加10个线程,在5秒的时间段; Then hold load for 60 seconds:启动的线程总数达到最大值之后,再持续运行60秒; Finally,stop 5 threads every 1 seconds:最后,每1秒停止5个线程;

 

例如:总共启100个线程,先启动10个线程,压测60s,然后再1秒启动10个(即20个) 线程持续压测60s......30个线程...40.....50....,直到100线程全部启动完毕,持续跑300s。

 

这边压测了50个并发数  持续压测10min
QPS = samples/压测时间(s)      ——————————>  220976/600s = 368.29
QPS = 并发数(即50)/rt (s)   ——————————>  50/0.15 = 333.333333
这2者相差不大 即是指标要求标准
如下两图 tps可以看到达到480+
看监控的edas数据查看qps的数据 与算出的数据相差不大,达到了480+

 

转载于:https://www.cnblogs.com/Lam7/p/8340822.html

<think>嗯,用户想知道如何在JMeter中设置逐渐增加线程数以进行性能试。首先,我需要回忆一下JMeter的基本线程组设置。常规的线程组好像是一次性启动所有线程,这可能不符合用户的需求,他们需要的是逐渐增加线程数,比如每隔一段时间增加几个线程,直到达到最大值。这通常被称为梯度试或者阶梯式试。 我记得JMeter本身的标准线程组可能不支持这种逐渐增加的方式,需要借助插件。比如,JMeter Plugins项目中的Stepping Thread Group或者Concurrency Thread Group。用户需要安装这些插件才能使用。安装步骤应该是下载插件jar文件,放到JMeter的lib/ext目录下,然后重启JMeter。这部分需要详细说明,避免用户找不到路径或者安装错误。 然后,设置Stepping Thread Group的具体参数。比如初始线程数、每次增加的线程数、递增时间间隔、保持时间等。可能还需要设置最终的线程数和持续时间。同时,Concurrency Thread Group也是一个选项,它可能更灵活,允许用户设置目标并发量、上升时间等参数。需要分步骤解释这两种方法,让用户有选择。 另外,用户可能还关心如何监控试结果,比如添加监听器,比如查看结果树、聚合报告、响应时间图等。这部分虽然用户没有直接问,但作为性能试的一部分,应该提醒用户添加必要的监听器来分析结果。 还需要注意引用中的信息,比如引用[3]提到了梯度试和插件的安装位置,引用[4]提到了负载试的不同场景。要确保在回答中正确引用这些内容,说明阶梯式试属于负载试的一种,符合用户的需求。 可能的问题包括用户没有正确安装插件,或者参数设置错误导致试不符合预期。需要强调安装步骤和参数配置的细节,比如每个字段的含义,避免混淆。此外,用户可能想了解如何验证设置是否正确,可以建议他们先运行一个简单的试,观察线程数的变化是否符合预期。 总结步骤应该是:1. 安装插件;2. 选择对应的线程组;3. 配置参数;4. 添加监听器并运行试。同时,生成的相关问题可以涉及性能试的其他方面,比如如何分析结果、优化试计划等。</think>### 如何在JMeter逐步增加线程数进行性能试? #### 1. **核心方法:使用Stepping Thread Group插件** JMeter原生线程组不支持逐步增加线程数的功能,需通过**Stepping Thread Group**插件实现。步骤如下: 1. **安装插件** - 下载`JMeterPlugins-Standard.jar`,将其复制到JMeter的`lib/ext`目录[^3]。 - 重启JMeter,插件生效。 2. **配置Stepping Thread Group** - 右键试计划 → 添加 → 线程组 → `jp@gc - Stepping Thread Group`。 - 参数设置示例: - **This group will start**:初始线程数(如10)。 - **First, wait for**:首次启动前等待时间(秒)。 - **Then start**:每次新增线程数(如5)。 - **Next, add**:每隔多久增加一次(如30秒)。 - **Continue until**:最大线程数(如100)。 $$ \text{总线程数} = \text{初始线程数} + \sum (\text{每次新增线程数} \times \text{递增次数}) $$ #### 2. **替代方案:Concurrency Thread Group** 若需更灵活控制并发量,可使用**Concurrency Thread Group**(同属插件): - **Target Concurrency**:目标并发用户数。 - **Ramp-Up Time**:从初始到目标值的总时间。 - **Hold Target Rate Time**:保持目标并发的时间[^2]。 #### 3. **验证与监听** - 添加监听器(如`Aggregate Report`或`Active Threads Over Time`),观察线程增长是否符合预期[^4]。 - 示例监听器配置: ```plaintext 响应时间图 → 监控请求延迟 聚合报告 → 统计TPS、错误率 ``` #### 4. **注意事项** - **资源监控**:逐步加压可能暴露系统瓶颈(如CPU/内存阈值)[^1]。 - **试场景匹配**:适用于负载试、试等需模拟真实用户增长场景[^4]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值