控制 bzm 中的样本数 - 并发线程组



我正在尝试使用Apache Jmeter作为测试工具找出端点的吞吐量。
我需要在n threads(users) per second处命中端点,并且每个线程应该只触发一个请求(样本)。
对于上述内容,我配置了bzm - 并发线程组

配置一:

Target Concurrency: 100 Ramp Up Time(sec): 1 Ramp-up Steps Count: 1 Hold Target Rate Time(sec): 10

配置二:

Target Concurrency: 1000 Ramp Up Time(sec): 5 Ramp-up Steps Count: 5 Hold Target Rate Time(sec): 60


配置一:10秒内必须仅触发1000
个请求。 配置二:必须在60秒内触发60000个请求,即1000个/秒。

根据您的测试用例测试持续时间设置,我认为您正在混淆线程和请求。

线程是虚拟用户。线程和请求不同。

加速所有用户到达测试的应用程序服务器的时间。

请求采样器模拟,但线程用户的模拟。

请注意 -请求总数与吞吐量相关,而执行相同活动的活动线程数与并发性相关。

可以通过在测试计划级别使用恒定吞吐量计时器来实现要求。

恒定吞吐量计时器允许您维护服务器的吞吐量(请求/秒)。恒定吞吐量计时器只能暂停 JMeter 线程,以减慢它们的速度以达到目标吞吐量。此外,它仅在分钟级别工作,因此您需要正确计算爬坡期并让您的测试运行足够长的时间。

以下是解决方法:

  1. 计算实现目标吞吐量所需的线程数。公式为:

    RPS * 最大响应时间(秒)

  2. 使用启动周期使线程相应地处于活动状态。
  3. 将循环计数值设置为Forever
  4. 相应地设置测试持续时间。

由于恒定吞吐量计时器在分钟级别工作,因此要实现XRPS,您必须将">目标吞吐量"值配置为X*60/min,并将"计算吞吐量依据"值配置为">所有活动线程"。

例如,如果需要 1000 RPS,则应在恒定吞吐量计时器中60000/min">目标吞吐量"值。

查看我在这些线程上的回答,以更简要地了解您的方案。

  1. 我应该如何计算以 Jmeter 为单位的爬坡时间

  2. 难以维持每秒请求数 (RPS)?

希望这有帮助!

最新更新