Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JMeter使用传入参数控制线程组_Javascript_Multithreading_Performance_Jmeter_Beanshell - Fatal编程技术网

Javascript JMeter使用传入参数控制线程组

Javascript JMeter使用传入参数控制线程组,javascript,multithreading,performance,jmeter,beanshell,Javascript,Multithreading,Performance,Jmeter,Beanshell,我有一个由多个线程组组成的JMeter测试场景。我使用命令行参数来控制场景,以传入工作负载、线程数等。线程组始终占总线程数的固定百分比(例如,三个组的分割为40:40:20)。我想传入一个值,并对三组进行计算 问题是,我唯一能想到的是在启动线程组中使用Beanshell采样器来计算线程,但我现在意识到,在这个采样器运行的时候,JMeter已经超过了为其他组设置线程的点。因此,其他线程组以零线程结束 我认为我需要做的是将计算结果直接放入线程组的“用户数”框中,我认为这是Javascript。但我不

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

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

我认为我需要做的是将计算结果直接放入线程组的“用户数”框中,我认为这是Javascript。但我不懂语法。有人能帮忙吗


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

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

可以使用以下函数放置此表达式:

${\uGroovy(Math.round(props.get(“pct”).toFloat()*props.get(“threads”).toInteger(),)}

并在命令行上传递或在user.properties中设置

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

-Jthreads=1000-Jpct=0.5


谢谢,我知道不同语言的处理器不同,但我不认为把它作为一个内联命令来使用就那么重要了。我将切换到Groovy,也感谢您提供的代码片段。