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

Jmeter 控制bzm-并发线程组中的样本数,jmeter,jmeter-4.0,Jmeter,Jmeter 4.0,我正在尝试使用ApacheJMeter作为测试工具来确定端点的吞吐量。 我需要以每秒n个线程(用户)的速度命中端点,每个线程应该只触发一个请求(示例)。 对于以上我配置了bzm-并发线程组 配置一: 目标并发:100 爬升时间(秒):1 爬坡步数:1 保持目标速率时间(秒):10 配置二: 目标并发:1000 爬升时间(秒):5 爬坡步数:5 保持目标速率时间(秒):60 我所期望的是 A.配置一:10秒内只能触发1000个请求。 B配置二:必须在60秒内触发60000个请求,即1000个/秒。

我正在尝试使用ApacheJMeter作为测试工具来确定端点的吞吐量。
我需要以每秒
n个线程(用户)
的速度命中端点,每个线程应该只触发一个请求(示例)。
对于以上我配置了bzm-并发线程组

配置一:
目标并发:100
爬升时间(秒):1
爬坡步数:1
保持目标速率时间(秒):10

配置二:
目标并发:1000
爬升时间(秒):5
爬坡步数:5
保持目标速率时间(秒):60

我所期望的是
A.配置一:10秒内只能触发1000个请求。

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

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

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

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

请求采样器模拟线程是对用户的模拟

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

您可以通过在测试计划级别使用来实现您的需求

恒定吞吐量计时器允许您保持服务器的吞吐量(请求/秒)。恒定吞吐量计时器只能暂停JMeter线程,以降低它们的速度以达到目标吞吐量。此外,它只在一分钟内工作,因此您需要正确计算爬升周期,并让您的测试运行足够长的时间

以下是解决办法:

  • 计算实现目标吞吐量所需的线程数。公式是: RPS*最大响应时间(秒)

  • 使用线程的爬升周期来相应地激活线程
  • 将循环计数值设为“永远”
  • 相应地设置测试持续时间
  • 由于恒定吞吐量计时器以分钟为单位工作,为了实现
    X
    RPS,您必须将“目标吞吐量”值配置为
    X*60/min
    ,“基于”值计算吞吐量为“所有活动线程

    例如,如果需要1000转/分,则“目标吞吐量”值应为
    60000/分
    英寸

    请查看我在这些线程上的答案,以便更简要地了解您的场景


  • 希望这有帮助

    谢谢你的回答,我按照你提到的配置了恒吞吐量定时器。我能够在配置一中实现我想要的请求,问题在于配置二,期望的请求总是像预期的那样低。我预计在60秒内会有1000个线程发出约60K个请求。有没有其他的方法来实现它???是的,我已经在第1点回答了这个问题。要达到如此高的每秒请求数,您需要有足够的线程数。1000个线程不足以实现每分钟60k个请求(1000rpm)。因此,您需要首先通过公式计算,因为它取决于您的应用程序响应时间!请参阅我简要回答这一问题时提供的答案。