13

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

4

4 回答 4

26

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

例如:

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

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

于 2013-10-16T08:22:59.493 回答
10

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

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

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

根据文档(强调我的):

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

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

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

高斯定时器配置

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

恒定定时器

结果非常有启发性:

JMeter 测试结果

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

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

于 2015-02-27T15:12:07.923 回答
3

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

  • 在 Uniform Random Timer 中,围绕恒定偏移的变化具有线性分布

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

于 2013-07-13T13:36:03.210 回答
2

常数延迟offset(mu)=300 ms,deviation(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) 的恒定吞吐量定时器。

希望它有所帮助。

于 2017-08-09T11:53:19.160 回答