bzm - Arrivals Thread Group线程组

bzm - Arrivals Thread Group是JMeter中的一个线程组,适用于传统负载测试。它允许根据时间表调度“到达”,即线程迭代的开始。通过设置目标到达率、加速时间、步进和保持目标到达率时间,可以灵活控制负载。在测试中,可以通过Concurrency Limit限制最大线程数,防止内存不足。同时,结合定时器和监听器如Active Threads Over Time,可以观察到阶梯加压的效果。

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

bzm - Arrivals Thread Group线程组
一个“到达”是线程迭代的一个开始(虚拟用户的一个迭代开始)。
在到达的线程组用于时间表“到达”。“到达”的调度是描述负载的另一种方法。由于“到达”是脚本迭代的开始,因此调度到达就是迭代开始的调度。该自由形式到达线程组类似于抵达线程组有一个主要的区别-调度更加灵活。

bzm - Arrivals Thread Group(到达线程组)非常适合进行更传统的负载测试。可能的情况可能是“当系统有每分钟100张的订单,我们的系统是否运行良好?”。

在这里插入图片描述
1:利用我们的平台设计一个登录接请求
2:在请求下面添加常量计时器
3:添加一些监听器,比如聚合报告,吞吐量,活动线程数,响应时间,点
击率等等
利用 Arrivals 线程组进行负载:
当所有 user 都开始迭代时,JMeter 将依据压力自动创建新线程,因此可能会产生
大量线程并导致”内存不足”,可以使用 Concurrency Limit 字段来限制最大线程数。
目标到达率:(到达/分钟):120
加速时间(分钟):1,初级线程的时间,这里1分钟达到120并发并运行包括持续的时间。
步进(加速几次):2,并发的用户数分为几步,这里120线程并发分为2步,每步60.
保持目标到达率(分钟):2,在达到120线程继续跑2分钟
目标到达率定义了目标负载在一分钟内开始的迭代次数。我们设置为每分钟 12(0 每
秒 2)。
加速时间:定义了达到目标负载水平的时间。
步进:定义实现目标负载级别的步骤数
保持目标到达率时间:定义目标负载水平持续时间。这里我们有两个选择:分钟或
秒。
Thread Iterations Limit 定义为每个虚拟用户运行的迭代次数。字段为空说明每个用
户将运行无限次迭代,直到测试计划结束。

调整定时器

### JMeter 中自由形式抵达线程组 (bzm - Arrivals Thread Group) 的使用方法 #### 什么是自由形式抵达线程组? `bzm - Arrivals Thread Group` 是一种高级线程组插件,允许用户通过指定目标每秒到达率(Arrival Rate)来模拟负载。这种线程组非常适合用来实现精确的流量控制,而无需手动调整虚拟用户的数量。 该功能可以通过 **BlazeMeter 插件** 安装到 JMeter 中[^3]。 --- #### 如何安装 `bzm - Arrivals Thread Group` 1. 下载并安装 JMeter Plugins Manager。 2. 打开 JMeter 后,在菜单栏中选择 `Options -> Plugin Manager`。 3. 转到 `Available Plugins` 标签页,找到 `Concurrency Thread Group` 和其依赖项,并点击右侧的 `Apply Changes and Restart JMeter` 按钮完成安装。 --- #### 配置参数说明 以下是 `bzm - Arrivals Thread Group` 的主要配置选项及其含义: | 参数名称 | 描述 | |---------------------|------------------------------------------------------------------------------------------| | Target Concurrency | 设置期望的目标并发数 | | Ramp-up Time | 并发用户达到目标所需的时间 | | Hold Target Rate | 维持目标速率的时间 | | Arrival Rate | 每秒钟希望有多少请求进入系统 | | Threads per arrival | 每次到达事件触发时创建的新线程数目 | 这些参数共同决定了测试期间的实际负载模式。 --- #### 示例配置 假设我们需要模拟如下场景: - 初始阶段:逐步增加至 50 用户/秒; - 峰值阶段:维持 5 秒钟,保持 50 用户/秒; - 结束阶段:逐渐减少到零用户。 具体步骤如下: 1. 添加一个新的 `bzm - Arrivals Thread Group`。 2. 在 `Target Concurrency` 字段输入 `50` 表示最终需要达到的并发用户数。 3. 将 `Ramp-Up Time` 设定为 `10` 秒表示用 10 秒时间平滑提升到目标水平。 4. 把 `Hold Target Rate` 时间设成 `5` 秒以便观察峰值表现。 5. 如果有额外需求可以设置更复杂的调度逻辑或者配合定时器优化行为。 --- #### 示例脚本 下面展示了一个简单的 JMX 文件片段,演示如何定义上述条件下的线程组结构: ```xml <bzm-arrivalThreadGroup guiclass="com.blazemeter.jmeter.control.gui.ArrivalsThreadGroupGui" testclass="com.blazemeter.jmeter.control.ArrivalsThreadGroup"> <stringProp name="Threads">50</stringProp> <!-- 目标并发 --> <stringProp name="RampUp">10</stringProp> <!-- 加压周期 --> <stringProp name="Steps">1</stringProp> <stringProp name="StepDuration">5</stringProp> <!-- 持续时间 --> <boolProp name="UseCustomTimers">false</boolProp> </bzm-arrivalThreadGroup> ``` 注意此部分需嵌入完整的 XML 文档才能正常运行于实际环境中。 --- #### 性能验证注意事项 当利用此类复杂工具构建压力模型时,请务必遵循最佳实践校验所得数据准确性。例如文中提到过的小技巧——借助 Little's Law 来检验计算得出的有效性[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值