【问题标题】:In Jmeter throughput is higher than the no. of threads I've mentioned在 Jmeter 中吞吐量高于没有。我提到的线程
【发布时间】:2016-07-13 10:21:50
【问题描述】:

IV 设置线程:50 上升 - 50 循环- 1

吞吐量输出 - 52.2/分钟

它说明了什么?

【问题讨论】:

    标签: testing jmeter performance-testing


    【解决方案1】:

    吞吐量计算为请求/单位时间。现在的时间是 从第一个样本开始到最后一个样本结束计算 样本。这包括样本之间的任何间隔,因为它是假设的 来表示服务器上的负载。

    公式是

    吞吐量 =(请求数)/(总时间)。

    您对用户或线程数这些用户发送的请求感到困惑。

    Ramp-up Period:JMeter 需要多长时间才能获取所有线程 开始了。如果有 10 个线程和 100 秒的加速时间, 然后每个线程将在前一个线程后 10 秒开始 开始,总时间为 100 秒,以使测试完全达到 速度。

    Thread GroupGlossary 的这份文档会有所帮助。

    【讨论】:

    • 好的。是的,我很困惑。那我怎么知道没有。请求的数量,即第一个样本到最后一个样本的结束以及所用时间?而且,上述吞吐量说明了什么?
    • Summary ReportAggregate Report 侦听器将向您显示有关测试输出的详细信息。吞吐量 52.2/min 意味着您的测试执行平均 52.2 samples or requests 每分钟或 60 秒。
    【解决方案2】:

    JMeter 的作用如下:

    1. Thread Group 中定义的所有线程都在指定的加速期间启动。
    2. 每个线程开始倒置执行采样器(或根据Logic Controllers尽可能快
    3. 当 Thread 没有更多的采样器要执行并循环进行迭代时,它会被关闭。

    因此,如果您的被测应用程序响应速度足够快,则可能会发生 JMeter 线程每秒可以执行多次的情况。反之亦然,如果应用程序响应时间很长,则采样器可能每分钟仅执行几次。

    按照 Calculator.getRate() 方法 JavaDoc:

    以每秒请求数返回与此采样器关联的吞吐量。可能略有偏差,因为它将第一个和最后一个样本的时间戳作为总时间过去,并且测试实际上可能在该开始时间之前开始并在该结束时间之后结束。

    如果您需要每分钟准确地产生 50 个请求 - 我建议您使用 Constant Throughput Timer ,它可以暂停 JMeter 线程以达到目标吞吐量。记住两件事:

    1. 恒定吞吐量计时器在 分钟 级别上足够精确,请确保您的测试持续足够长的时间以便成功应用
    2. Constant Throughput Timer 只能暂停线程,如果当前数量不足以产生负载,它不会启动额外的线程,请确保提供足够的线程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-14
      • 2018-08-03
      • 2019-05-12
      • 1970-01-01
      相关资源
      最近更新 更多