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

时间:2019-04-25 08:43:53

标签: jmeter jmeter-4.0

我正在尝试使用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个请求。
b。配置2:必须在60秒内(即1000 /秒)触发60000个请求。

1 个答案:

答案 0 :(得分:1)

根据您的测试用例测试持续时间设置,我认为您对线程和请求感到困惑。

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

升级是所有用户到达测试的应用程序服务器的时间。

请求是由采样器模拟的,而线程用户的模拟。

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

您可以在测试计划级别使用Constant Throughput Timer来满足要求。

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

以下是解决方法:

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

    RPS *最大响应时间(秒)

  2. 使用加速期使线程相应地活动。
  3. 将循环计数值设为Forever
  4. 相应地设置测试持续时间。

由于恒定吞吐量计时器在分钟级别上工作,要达到X RPS,您必须将“ 目标吞吐量”值配置为X*60/min,然后将“ 计算”基于”值的吞吐量为“ 所有活动线程”。

例如,如果您需要1000 RPS,则在Constant Throughput Timer中的“ 目标吞吐量”值应为60000/min

在这些主题中查看我的答案,以更简短地了解您的情况。

  1. How should I calculate Ramp-up time in Jmeter

  2. Struggling to maintain Requests per Second (RPS)?

希望这会有所帮助!