【问题标题】:Difficult to understand the Gaussian Random Timer?高斯随机定时器难以理解?
【发布时间】:2013-07-12 13:35:24
【问题描述】:

我已阅读 jmeter 用户手册中的 Gaussian Random Timer 信息,但很难理解。任何人都有与此相关的想法,请举例说明,非常感谢。提前致谢。

【问题讨论】:

    标签: jmeter jmeter-plugins


    【解决方案1】:

    高斯随机定时器在恒定延迟偏移附近有一个随机偏差(基于高斯曲线分布)。

    例如:

    • 偏差:100 毫秒
    • 恒定延迟偏移:300 毫秒

    延迟将在 200 毫秒 (300 - 100) 和 400 毫秒 (300 + 100) 之间变化,基于高斯分布对于大约 68% 的情况

    【讨论】:

    • 谢谢,我只是想让它更清楚一点...... :)
    【解决方案2】:

    我将尝试用已经发布的示例之一来解释它:

    • 恒定延迟偏移:1000 毫秒
    • 偏差:500 毫秒

    大约 68% 的延迟将在 [500, 1500] 毫秒之间(=[1000 - 500, 1000 + 500] 毫秒)。

    根据docs(强调我的):

    总延迟是高斯分布值(平均值为 0.0,标准差为 1.0)乘以您指定的偏差值和偏移值的总和

    Apache JMeter 调用Random.nextGaussian()*range 来计算延迟。正如in the Wikipedia 所解释的,nextGaussian() 的值仅在大约 68% 的情况下将介于 [-1,1] 之间。从理论上讲,它可以具有任何值(尽管获得此区间之外的值的概率会随着与它的距离而迅速降低)。

    作为证明,我编写了一个简单的 JMeter 测试,它使用虚拟采样器和高斯随机计时器启动一个线程:3000 毫秒恒定延迟,2000 毫秒偏差:

    为了排除 cpu 负载问题,我配置了一个额外的并发线程,带有另一个虚拟采样器和一个常量计时器:5000 毫秒:

    结果很有启发性:

    以样本 10 和 12 为例:9h53'04.449" - 9h52'57.776" = 6.674",与配置的 2.000" 相比,这是 3.674" 的偏差!您还可以验证常量计时器是否仅偏离大约 1 毫秒。

    我可以在 Gmane jmeter 用户列表中找到对这些高斯计时器的非常好的解释:Timer Question

    【讨论】:

      【解决方案3】:

      Gaussian Random Timer 与 Uniform Random Timer 几乎相同。

      • 在 Uniform Random Timer 中,恒定偏移附近的变化呈线性分布

      • 在高斯随机定时器中,围绕恒定偏移的变化具有高斯曲线分布。

      【讨论】:

      • 感谢重播,偏差和恒定延迟偏移值的影响有多大,即假设偏差为 100,恒定延迟偏移为 300,在这种情况下,结果集如何因这些值而受到影响。
      • 您的意思是暂停时间在 300-100 和 300+100 之间变化,即低于和高于恒定延迟偏移量。
      • 这个答案不是很准确,cmets也不准确。暂停可能小于 200 毫秒或大于 400 毫秒。见my answer
      【解决方案4】:

      恒定延迟偏移(mu)=300 ms,偏差(si)=100 ms mu-si=200,mu+si=400,两个线程之间的时间间隔有68%的机会在[200,400]范围内

      mu-2(si)=100,mu+2(si)=500,两个线程之间的时间间隔有95%的机会在[100,500]范围内

      mu-3(si)=0,mu+3(si)=300,两个连续线程之间的时间间隔有99.7%的机会在[0,600]范围内

      当你继续这样下去时,你会得到 100% 的概率,两个线程之间的时间间隔是 100%

      我将自己限制为 3 次迭代,因为 mu-4(si) 产生一个负值,而经过的时间在这个宇宙中始终是一个正值。

      但是依赖高斯定时器是非常不现实的,因为我们有恒定的定时器和没有标准偏差(si)的恒定吞吐量定时器。

      希望对你有帮助。

      【讨论】:

        猜你喜欢
        • 2010-09-18
        • 1970-01-01
        • 2021-07-29
        • 2012-07-02
        • 2020-05-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多