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.禁用掉电脑上的其他网卡