Performance JMeter';s在定义的持续时间之前运行finish

Performance JMeter';s在定义的持续时间之前运行finish,performance,jmeter,performance-testing,jmeter-5.0,Performance,Jmeter,Performance Testing,Jmeter 5.0,我们正在使用GUI中的JMETER 5.2.1工具进行性能测试,这是我第一次使用它 我想模拟24小时运行我们的服务,当我注册了30000个代理,每个代理每天发送10个查询(总共每天300000个查询) 为此,我使用以下配置定义了一个线程组: 线程数:30000 加速期:40000 循环计数:10 持续时间:86400(24小时) 由于某些原因,JMETER运行仅在11小时后完成! 我不明白为什么,因为正如你所看到的,我已经将持续时间设置为24小时 有什么建议吗 如果希望测试运行24小时,请将循环

我们正在使用GUI中的JMETER 5.2.1工具进行性能测试,这是我第一次使用它

我想模拟24小时运行我们的服务,当我注册了30000个代理,每个代理每天发送10个查询(总共每天300000个查询)

为此,我使用以下配置定义了一个线程组:

线程数:30000

加速期:40000

循环计数:10

持续时间:86400(24小时)

由于某些原因,JMETER运行仅在11小时后完成! 我不明白为什么,因为正如你所看到的,我已经将持续时间设置为24小时

有什么建议吗

  • 如果希望测试运行24小时,请将
    循环计数设置为
    永久
    -1
  • 如果您想在24小时内执行300000个查询,您需要在JMeter端引入速率限制,以每分钟执行208.4个请求,可以使用
  • 不要使用GUI来运行JMeter测试,因为它可能会对测试结果产生非常负面的影响,JMeter GUI仅用于测试开发和调试,当涉及到测试执行时,请继续

  • 如果循环计数不是-1或永远,则根据JMeterGUI中的调度程序配置,持续时间将是min(持续时间,循环计数*迭代持续时间)。换句话说,你比24小时快10圈。所以,你可以永远运行你的循环,并将其限制在24小时内-你做了更多的循环,或者你可以尝试在你的循环中增加延迟,以在24小时内匹配10个循环。第三个选项是第三方插件恒定吞吐量计时器


    我将重新设计您的测试,使其达到10个线程、300个爬坡、永远循环、持续24小时,并调整循环中的延迟以匹配(24*60*60)/300000=0.288tps,因为我理解线程同时是并发连接(而不是像您那样24小时)

    非常感谢!您的解决方案的问题是,我需要30000个线程来模拟30000个客户端与我的服务通信。有没有一种方法可以这样定义和配置它?第三个插件如何帮助我?你想测试什么?您的服务器是否能够24小时处理0.288tps恒定负载?我想在24小时的工作时间内测试我的服务器,当每个服务器发送10次请求时,它有30000个活动客户端。因此,如果我得到它,我需要使用恒定吞吐量计时器,以便定义它以每分钟执行208.4次查询,并将循环计数设置为-1?这样我不能保证我的30000个客户中的每一个都会发送10个查询,不是吗?