JMeter分布式环境,一台Master,一到多台Slave,Master和Slave可以是同一台机器。
三种情形举例:
每种情形按照以下方式配置好之后,需要在slave的机器上启动jmeter-server.bat,在master机器上启动JMeter的界面执行case进行调试。
注意:
slave的机器上可以不放jmeter的脚本,但如果有用到测试数据,就必须把测试数据放到slave机器上去,JMeter中文件的路径得用绝对路径,这点不太好。
我的想法是如果把JMeter的工程配成Maven工程就可以完美的解决这个问题。
1.Master和Slave是同一台机器
修改jmeter.properties
remote_hosts=127.0.0.1:1099
server.rmi.ssl.disable=true (关闭RMI)
2.Master和Slave不是同一台,用默认端口1099
Master:10.86.16.218
修改jmeter.properties
remote_hosts=10.86.16.81:1099,10.86.17.82:1099
server.rmi.ssl.disable=true (关闭RMI)
在system.proerties的最后加一行
java.rmi.server.hostname=10.86.16.218
Slave1:10.86.16.81
Slave2:10.86.17.82
修改jmeter.properties
server.rmi.ssl.disable=true
在system.properties的最后加一行,以Slave1举例,其他Slave也要这么配
java.rmi.server.hostname=10.86.16.81
3.Master和Slave不是同一台机器,自定义端口,举例:80
Master:10.86.16.218
修改jmeter.properties
remote_hosts=10.86.16.81:80,10.86.17.82:80
server.rmi.ssl.disable=true (关闭RMI)
在system.properties的最后加一行
java.rmi.server.hostname=10.86.16.218
Slave1:10.86.16.81
Slave2:10.86.17.82
修改jmeter.properties
server.rmi.ssl.disable=true
server_port=80
在system.properties的最后加一行,以Slave1举例,其他Slave也要这么配
java.rmi.server.hostname=10.86.16.81
成功的标志:
1.Slave上jmeter-server.bat启动的控制台没有报错,显示测试的开始和结束
2.Slave上的日志\apache-jmeter-5.2.1\bin\jmeter-server.log可以看到脚本执行的信息,没有报错
3.Master上通过JMeter界面启动远程执行时,结果树可以看到命令成功返回