【问题标题】:Jmeter - weighted random values?Jmeter - 加权随机值?
【发布时间】:2011-03-30 04:31:39
【问题描述】:

如何根据随机权重运行测试/控制器?例如,有两个测试,一个重量为 25%,另一个重量为 50%。 50 的人应该经常运行两倍。

也许吞吐量控制器以某种方式与随机混合?

【问题讨论】:

    标签: java testing jmeter


    【解决方案1】:

    我认为您可以使用如下配置的吞吐量控制器:

    吞吐量值是预先设置的,可以根据配置属性或在可接受的值范围内生成(在本例中为 0..100)。

    【讨论】:

      【解决方案2】:

      对于一些简单的权重,您可以使用开关控制器默认为第一个孩子这一事实来发挥您的优势。例如 50% 25% 25% 喜欢这样

      Switch Controller - ${__Random(0,3)}
       - Child 0 (and 3)
       - Child 1
       - Child 2
      

      通过将 Random 和 Simple 控制器中的任务分组为子级,您可以更进一步。

      【讨论】:

        【解决方案3】:

        在这种情况下,您最好使用 2 个线程组。 首先进行设置以生成比第二个更多的请求。

        PS。您可以使用吞吐量整形计时器来控制每个组的速率。

        【讨论】:

          【解决方案4】:

          我通过创建一个具有以下开关值的开关控制器来实现这一点:

          ${__javaScript( var s="001"; new Number(s.charAt( Math.floor(Math.random()*s.length) )) )}
          

          javascript 从字符串s 中选择一个随机字符并将其转换为一个数字。所以在上面的例子中,选择 0 的频率是 1 的两倍,并且可以通过在字符串中添加/删除字符来改变权重。

          我使用 String 而不是 Array 是因为我的 JMeter 版本使用的 javascript 版本似乎不支持数组文字,所以这使它不那么冗长。

          【讨论】:

            猜你喜欢
            • 2011-05-01
            • 1970-01-01
            • 2010-12-18
            • 1970-01-01
            • 2010-11-06
            • 2021-12-15
            • 1970-01-01
            • 2015-07-05
            • 2010-09-08
            相关资源
            最近更新 更多