一、环境准备:
1、jmeter3.0(确保master与slave版本一致)
2、jdk1.8(确保master与slave的jdk大版本一致)
master_jdk
slave_jdk
3、网络(确保master,slave,server在同一个网络,互相能ping通)
4、关闭slave上的防火墙,否则会报错
PS:本次试验master实在win7上,3台slave在CentOS6.5
二、slave配置
1、修改$JMETER_HOME/bin/jmeter-server的最后位置
将#RMI_HOST_DEF=-Djava.rmi.server.hostname=XXX.XXX.XXX.XX修改为
RMI_HOST_DEF=-Djava.rmi.server.hostname=172.18.104.104
PS:多网卡必须配置,否则会把报错
2、修改$JMETER_HOME/bin/jmeter.properties,来修改jmeter-server的端口
server_port=2099
server.rmi.localport=2099
多slave重复以上步骤
3、启动slave
在jmeter/bin下运行 ./jmeter-server,启动成功如下
三、master配置
1、修改$JMETER_HOME/bin/jmeter.bat,启动指定ip
window:
新增set rmi_host=-Djava.rmi.server.hostname=172.18.104.74(master 的ip)
修改set ARGS=%DUMP% %HEAP% %NEW% %SURVIVOR% %TENURING% %PERM% %DDRAW% %rmi_host%
linux:
新增 rmi_host=“-Djava.rmi.server.hostname=172.18.104.74”(master 的ip)
修改ARGS="$SERVER $DUMP $HEAP $NEW $SURVIVOR $TENURING $PERM $CLASS_UNLOAD $rmi_host"
PS:多网卡必须配置,否则slave执行完毕,回传数据给master的时候会报错
2、修改$JMETER_HOME/bin/jmeter.properties,添加slave主机
# Remote Hosts - comma delimited
remote_hosts=172.18.104.101:2099,172.18.104.102:2099,172.18.104.109:2099,172.18.104.104:2099
#remote_hosts=localhost:1099,localhost:2010
3、启动master检查slave配置是否生效,成功如下
四、master控制slave执行脚本
1、随便在master上以baidu为例,点击远程启动,选中其中一个salve
2、运行结果如下说明成功了,依次调整其他几个slave
3、全部运行结果,4个salve运行有4个结果就对应上了
五、关于参数化的设置
1、master在windows上,slave在linux或MAC上的时候,参数化设置经常会出问题
2018/07/17 10:49:04 INFO - jmeter.threads.JMeterThread: Thread finished: 10S-1000 1-99
2018/07/17 10:49:04 INFO - jmeter.threads.JMeterThread: Thread started: 10S-1000 1-100
2018/07/17 10:49:04 ERROR - jmeter.threads.JMeterThread: Test failed! java.lang.IllegalArgumentException: File D:apache-jmeter-3.0inMac.txt must exist and be readable
at org.apache.jmeter.services.FileServer.createBufferedReader(FileServer.java:422)
at org.apache.jmeter.services.FileServer.getReader(FileServer.java:388)
解决办法就是,master设置参数化的时候不要写绝对路径,直接就写一个文件名字,如:Mac.txt。另外需要将Mac.txt拷贝到master上的jmter的bin目录下($JMETER_HOME/bin)
六、非GUI运行分布式,多台slave之间用,分隔
D:apache-jmeter-3.0in>jmeter -n -t C:UsersAdministratorDesktoppobuli分布
式.jmx -R 172.18.104.104:2099,172.18.104.102:2099 -l d:linux.jtl
PS:非GUI运行的结果与GUI运行结果不一样,待研究
1、GUI运行结果
2、非GUI运行结果