我想在运行测试时实时控制吞吐量。如何使用BeanShell服务器执行此操作?
基本上我想在测试运行时从命令行更新用户属性'throughput'(在Constant Throughput Timer中使用)。
解决方案:根据Dmitri的回答,我做了以下事情:
我加入了user.properties
:
beanshell.server.port=9000
beanshell.server.file=beanshell.server.file=/home/sam/JMeter/apache-jmeter-4.0/extras/startup.bsh
~/JMeter/apache-jmeter-4.0$ java -jar lib/bshclient.jar localhost 9000 /home/sam/JMeter/beanshell/setthroughput.bsh 100
throughput
财产的价值现在是100.太棒了!beanshell.server.port=9000
beanshell.server.file=../extras/startup.bsh
throughput
属性,如:
${__P(throughput,60)}
这将默认吞吐量设置为每分钟60个请求(每秒1个请求),如果throughput
属性将以某种方式在某处定义 - 该值将被覆盖。setthroughput.bsh
:
setprop("throughput", args[0]);
java -jar bshclient.jar localhost 9000 setthroughput.bsh 100
更多信息:Beanshell Server
我相信如果你切换到具有Throughput Shaping Timer的load_profile
property会更容易,所以你将能够以更灵活和有效的方式控制吞吐量。您可以使用JMeter Plugins Manager安装吞吐量整形计时器