Jmeter分布式测试:在运行时更改负载吞吐量(请求/秒)

时间:2020-05-24 03:39:33

标签: jmeter beanshell jmeter-5.0

我已经建立了一个jmeter分布式测试设置,其中包含一个主设备和多个从设备。

在我的测试计划中,我使用一个具有5个线程的ThreadGroup,一个HTTPRequest Sampler和一个常量吞吐量计时器,并将所有活动线程的目标设置为-$ {__ P( throughput ,100)}在当前线程组中。

我想在运行时为我的设置更改预期的请求“吞吐量”值。

例如。最初的请求/分钟(吞吐量)默认值为100。执行1小时后,我想将请求/分钟更改为6000。

使用beanshell脚本更改吞吐量只会更改jmeter主服务器上的值,而不会影响jmeter从属服务器和总体请求吞吐量。

感谢任何指导和指导。

1 个答案:

答案 0 :(得分:1)

您可以考虑使用Beanshell Server,它将启动一个端点,该端点将在其中侦听命令,因此您可以“随时”更改throughput属性值

  1. 将以下各行添加到 user.properties 文件:

    beanshell.server.port=9000
    beanshell.server.file=../extras/startup.bsh
    
  2. 在JMeter安装的“ lib”文件夹中创建一个changeThroughput.bsh之类的Beanshell文件,其内容如下:

    setprop("throughput", args[0]); 
    
  3. 就这样,现在您应该能够在测试执行期间设置throughput属性值:

    java -jar bshclient.jar localhost 9000 throughput 6000
    

查看How to Change JMeter´s Load During Runtime文章以了解更多信息。