jemter分布式部署以及一些常见问题
1.环境搭建方法
1.master和slave的环境最好都是一样的同为Linux或同为Windows,并且需要JMeter和jdk版本与master一致,否则会出现一些意外的问题。
(1)master机:JMeter版本5.2,jdk版本1.8;
(2)slave机:JMeter版本5.2,jdk版本1.8;
1.2 slave机器配置
(1)slave安装jdk和JMeter,并配置环境变量。尽量保持与master机器版本一致。两台slave机器JMeter的安装路径也保持一致,方便后续进行参数化配置;
(2)在Slave机器上,找到Jmeter/bin/jmeter.properties设置:server_port=1888;server.rmi.localport=1888;
PS:默认端口1099(可以自定义)
(3)进入slave的bin目录下,执行jmeter-server.bat,启动JMeter服务;
1.3master机器配置
(1)要保证master机器进行测试脚本的有效分发,需要配置slave机器的ip地址和端口号。在master安装目录的bin文件下,打开Jmeter/bin/jmeter.properties,找到remote_hosts=127.0.0.1的值并做修改:
PS:若有多台远程机需要都加进来,用逗号隔开,前面127.0.0.1为本机,默认端口为1099(可自定义)
1.4配置好运行
2.常见问题
2.1连接超时
连接超时大多数都是不在同一个网段造成的。举个例子:master(192.168.100.11)slave(10.203.9.6)并不在同一网段,所以导致连接失败。
1.修改slave jmeter.bat文件
新增set rmi_host=-Djava.rmi.server.hostname=192.168.100.6
修改set ARGS=%DUMP% %HEAP% %NEW% %SURVIVOR% %TENURING% %PERM% %DDRAW% %rmi_host%
2. 修改master jmeter.properties文件
修改remote_hosts=192.168.100.6:1888
然后重启jmeter。
2.2提示“Engine is busy – please try later”
解决方法一
1.在停止jmeter测试的同时,使用master中的' Remote Stop all '选项,这会杀死远程机进程上正在运行的线程。
2.远程机的jmeter重新启动“jmeter-server.bat”,并重新开始测试。
解决方法二
1.禁用掉电脑上的其他网卡