【问题标题】:JMeter using a passed in parameter to control thread groupsJMeter 使用传入的参数来控制线程组
【发布时间】:2018-03-09 16:29:59
【问题描述】:

我有一个由多个线程组组成的 JMeter 测试场景。我正在使用命令行参数控制场景,以传递工作负载、线程数等。线程组始终是总线程数的固定百分比(例如,3 组具有 40:40:20 的拆分)。我想传入一个值并为三个组计算该值。

问题是,我唯一能想到的就是在启动线程组中使用 Beanshell 采样器来计算线程,但我现在意识到在这个采样器运行时,JMeter 已经过了点它为其他组设置线程。因此,其他线程组以零线程结束。

我认为我需要做的是将计算直接放入线程组“用户数”框中,我认为它是 Javascript。但是语法让我失望。有人可以帮忙吗?

哦,我知道在命令行中传入三个参数也足够了,但是命令行来自 Jenkins 作业,我想确保用户只需添加一个数字作为参数。

【问题讨论】:

    标签: javascript multithreading performance jmeter beanshell


    【解决方案1】:

    不要在 JMeter 中使用 __javascript,它会影响性能。

    你可以使用__groovy函数来表达这个表达式:

    ${__groovy(Math.round(props.get("pct").toFloat() * props.get("threads").toInteger()),)}

    并通过命令行或在 user.properties 中设置

    • pct:用户百分比
    • 线程:线程总数

    应该是:

    -Jthreads=1000 -Jpct=0.5

    【讨论】:

    • 谢谢,我了解不同语言的处理器,但不认为将其作为单个内联命令至关重要。我将切换到 Groovy,也感谢代码 sn-p。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多