目前我们正在使用Performance Center进行负载测试,最终我们将转移到JMeter。
在Performance Center,我们一起运行了200个脚本。
同样,如何在JMeter中一起运行多个jmx脚本?
答案 0 :(得分:5)
使用非ui模式,您可以通过提供-t选项(例如
)来运行多个jmx脚本Jmeter.bat or Jmeter.sh -n -t scritp1.jmx script2.jmx ...
或使用shell中的包装脚本或批处理pgming创建多个会话,这些脚本将并行运行这些脚本
等
Jmeter.bat or Jmeter.sh -n -t scritp1.jmx &
Jmeter.bat or Jmeter.sh -n -t scritp2.jmx &
答案 1 :(得分:4)
您可以使用JMeter Ant Task或JMeter Maven Plugin启动测试执行。这两种工具都具有并行执行任务的功能。
如果需要,您可以将执行结果文件与MergeResults插件合并。
有关如何开始JMeter测试的更多选项,请参阅5 Ways To Launch a JMeter Test without Using the JMeter GUI指南。
答案 2 :(得分:3)
简单的方法是同时从命令行启动所有脚本,并使用多个用户编写每个脚本等。我使用Windows,并创建包含多行的批处理文件,如:
start /REALTIME java -jar ApacheJMeter.jar -n -t test_script1.jmx -l results1.jtl -j log1.log -Dthreads=40 -Dduration=1800
但是,对于您的设置规模,我建议您研究一种通过自动化控制测试的更好方法。
我已经设置了一个Jenkins服务器,它能够使用maven或shell脚本运行JMeter脚本,然后聚合结果,创建图形等。它能够并行,顺序,随机或触发触发作业通过其他活动。
我还会考虑设置脚本以使用线程数,循环数和持续时间的属性,这样您就可以轻松地从Jenkins控制它们而无需修改脚本。创建一个User Defined Variables配置元素,并将属性值复制到变量,设置默认值,即:
THREADS ${__P("threads", 25)}
这意味着${THREADS}
可以在线程组中使用,并且将是默认值25.如果在命令行上分配一个值,它将被使用而不是默认值。您可以在JVM命令行上定义它,当您启动JMeter时:
-Dthreads=40
在您的脚本中,${THREADS}
的值现在为40。