【问题标题】:Simulating desired throughput in jmeter在 jmeter 中模拟所需的吞吐量
【发布时间】:2021-07-14 14:04:54
【问题描述】:

我想达到每秒 7.6 个请求的吞吐量。 我正在使用具有反馈功能和吞吐量整形计时器的 bzm-并发线程组,如下所示。请忽略被删除的线程组。它们被禁用并且不被 Jmeter 执行。

当我从命令行运行脚本时,它会显示如下日志

在日志文件中,它提到:

在并发线程组中,我定义了具有反馈函数的目标并发为 ${__tstFeedback(tst-name,1,100,30)}

这里,1 和 100 是启动线程和最大允许线程,30 是线程池中保留的备用线程数。

我的第一个问题是:

第一季度。为什么在命令行日志中它说当前线程组中没有可用的线程。从命令行可以看到,只启动了 39 个线程。我已将允许的最大线程数定义为 100。在这 30 个线程的顶部保留在线程池中,以便 Jmeter 可以在 100 个线程不够时使用它们。我也尝试通过传递 ${__tstFeedback(tst-name,1,200,30)} 来增加线程数,但我仍然得到同样的错误。

为什么它在日志中说没有可用的线程可用,从而增加了你的线程数?

另外,从摘要报告中可以看出,Jmeter 不执行场景 3 和场景 4 的事务控制器

第二季度。 Jmeter没有执行场景3和场景4的原因是什么?

【问题讨论】:

    标签: jmeter


    【解决方案1】:
    • Q1 警告是在测试开始后的 6 毫秒内写入的,当时只有 1 个线程在运行,你真的期望 1 个线程每秒可以执行 7.6 个请求的负载吗?我的意思是理论上这是可能的,如果您的应用程序响应时间低于 130 毫秒,但我认为它不适用于您的情况,请尝试从 30 个线程开始并删除这些加速期和步骤。
    • Q2 我们不知道,最可能的原因是您的测试运行时间不够长,因此第一个线程无法执行场景 1 和 2 中的所有采样器,或者有一些 Logic Controllers 阻止了这些场景执行或有一个Flow Control Action 采样器不允许线程走得更远,等等。

    答案总是在jmeter.log file,你might also want to increase the JMeter log level for the Throughput Shaping Timer通过将下一行添加到log4j2.xml文件:

    <Logger name="kg.apc.jmeter.timers.VariableThroughputTimer" level="debug" /> 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多