【问题标题】:Limit values of custom JMeter Properties at runtime运行时自定义 JMeter 属性的限制值
【发布时间】:2020-09-01 00:30:20
【问题描述】:

我们有一个分布式 JMeter 设置,如此处所述 - How to Change JMeter´s Load During Runtime

测试计划(JMX 文件)由用户提供。因此,我们不知道其中使用的属性名称。在运行时,用户可以提供属性名称和值,我们将通过 beanshell 脚本直接传递给 JMeter 设置。

在此设置中,我们能否对用户在运行时可以更改的某些 JMeter 属性(这可能会影响我们提供的资源)的值设置限制/上限?

例如。我们不希望系统的总 RPS 随时超过 300 RPS。或者,如果用户提供了#threads 的运行时更改功能,我们不希望它们在任何时候在任何机器上超过 100。

我们希望避免在我们的系统中存储任何用户定义的属性名称以提供此类验证。

【问题讨论】:

    标签: jmeter jmeter-plugins jmeter-5.0


    【解决方案1】:

    您可以将Constant Throughput TimerPrecise Throughput TimerThroughput Shaping Timer 注入到用户提供的.jmx 脚本中,并在其中放置允许的最大并发数。

    即使测试计划中有多个计时器,JMeter 也会应用 最慢​​ 的吞吐量,因此如果原始 RPS 低于您的最大值,您不会使测试过快反之亦然,无论用户想要什么 RPS,它都不会超过您定义的 300 RPS。

    同样的方法适用于线程组中的线程数。

    【讨论】:

    • @Dmitri 非常感谢您提供这一有用的见解。正如您提到的,计时器可用于实现 RPS 限制。您能否详细说明以类似方式限制线程? AFAIK,计时器只能延迟线程来调整 RPS。或者任何其他可用于此目的的 JMeter 组件或插件,以防线程数上限?
    猜你喜欢
    • 2020-03-09
    • 1970-01-01
    • 2012-04-20
    • 1970-01-01
    • 2012-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-20
    相关资源
    最近更新 更多