Jmeter命令行控制线程数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter命令行控制线程数相关的知识,希望对你有一定的参考价值。

参考技术A 在使用JMeter进行性能测试时,以下情况经常出现:

1.测试过程中,指定运行的线程数、指定运行循环次数不断改变;

2.访问的目标地址发生改变,端口发生改变,需要改写脚本。

在非GUI运行脚本模式下,我们可以通过动态修改内置属性的办法来避免修改脚本

JMeter测试计划在运行Sampler之前先加载配置文件(jmeter.properties,system.properties等),读取属性,所以那么我们可以借助属性来实现。

修改这些配置文件,麻烦且不现实。JMeter提供了方法可以动态修改属性,在命令行使用 -J 来指定 JMeter Properties ,使用 __P() 函数来获取命令中指定的属性值。( jmeter.bat -help | jmeter.sh -help 可以查看帮助)

如图,首先:在test.jmx测试脚本中用 $__P(threadCount,) 来获取threadCount的值; $__P(cycle,) 来获取cycle的值,是参数名设置。

接下来就是在启动命令中传递这两个参数:

JMeter 命令行通过 -D 来指定System Properties,类似于Jdk中我们用-D来指定一些系统属性,比如开启JMX远程监控。
在JMeter脚本中我们用 __property() 函数来获取,比如 -Durl=127.0.0.1

如图:首先在测试脚本中用 $__property(url,,) 来设置变量用以接收
接下来就是在启动命令中传递这两个这个值

同理要动态化端口,首先脚本中用 $__property(port,,) ,启动命令用 -Dport=8080 传递参数就可以了。

命令行运行jmeter后查看结果树响应数据为空

参考技术A jmeter默认情况下命令行执行压测脚本后生成的jtl文件打开后查看结果树中响应数据是为空的

如果要显示响应数据的话,修改以下两个配置文件
1、在jmeter.properties文件中修改配置

2、在user.properties文件中追加配置

保存后重新执行压测脚本就行了。不过这时候生成的jtl文件可能会非常大,看自己取舍吧。

以上是关于Jmeter命令行控制线程数的主要内容,如果未能解决你的问题,请参考以下文章

jmeter并发数和线程数的区别

jmeter并发数和线程数的区别

Jmeter之逻辑控制器

Jmeter中接受命令行变量

Jmeter的使用

Jmeter -- 循环控制器和线程并发(关注执行顺序)