javascript - JMeter 使用传入的参数来控制线程组

标签 javascript multithreading performance jmeter beanshell

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

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

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

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

最佳答案

不要在 JMeter 中使用 __javascript,它会降低性能。

您可以使用 __groovy 放置此表达式功能:

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

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

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

它会是:

-Jthreads=1000 -Jpct=0.5

关于javascript - JMeter 使用传入的参数来控制线程组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49188787/

相关文章:

Java无锁性能JMH

java - 实时显示计算进度,即使浏览器关闭也能保留进度

c++ - 间歇性地没有数据通过 boost::asio/io 完成端口传递

Java Collection#清除回收内存

javascript - 如何在 ngMaterial md-autocomplete 中过滤查询?

javascript - 表单中带有 ng-pattern 的 AngularJS 不会向服务器发送无效字段

javascript - 如何使用没有位置 : fixed? 的页面滚动 div

c++ - 静态分区 tbb::parallel_for

ios - XCode 性能测量

javascript - 限制在给定时间打开的 promise 数量