Jmeter分布式部署笔记
一、环境部署
JMeter分布式环境,一台Controller(控制机),一到多台Slave(执行机),Controller和Slave可以是同一台机器。
所有机器,包括Controller和Slave的机器:
1.关闭防火墙
2.controller与Slave属于同一网络
3.使用相同的java版本
java环境验证,win+r,输入cmd调出控制台,输入以下命令;
java -version
4.使用相同版本的JMeter
jmeter环境验证,win+r,输入cmd调出控制台,输入以下命令;
jmeter -v
5.开启Telnet服务
同时配置Telnet默认端口:23的出入站规则。(这些在网上就可以查到)
二、slave执行机配置
首先在远程机器上,找到jmeter的安装路径,并在bin目录下找到jmeter.properties文件。
打开jmeter.properties文件修改,把server.rmi.ssl.disable=flase更改server.rmi.ssl.disable=true,并把前面的#去掉(这里是开启弃用秘钥,因为使用秘钥发现坑有些多)
保存完成后,启动cmd输入jmeter-s,或点击\bin目录下的jmeter-server.bat,启动服务。
成功启动界面:
三、controller控制机配置
首先在远程机器上,找到jmeter的安装路径,并在bin目录下找到jmeter.properties文件,打开jmeter.properties文件修改,把server.rmi.ssl.disable=flase更改server.rmi.ssl.disable=true,并把前面的#去掉(具体的可参照上面slave执行机步骤)。
再找remote_hosts要配置执行机的IPv4 地址,如下图:
修改完成后,保存。
(注意:如果你想把控制机也要当远程机使用,也在控制机(本机)启动cmd输入jmeter-server启动服务。如不使用,无需启动jmeter-server服务。)
四、运行
启动jmeter GUI 模式,鼠标点运行->远程启动所有(英文:Run->Remote Start All)
脚本成功运行,可在对应执行机上看到运行信息,如图:
五、问题记录
问题一
控制机(本机)一定要ping一下远程机IPv4 地址
C:\Users\lifeng01>ping 192.168.10.110
如果ping不通,是肯定连接不上的,这时候要把控制机和远程机的防火墙关闭了
问题二
运行报系统找不到指定文件
解决一:控制机(本机)jmeter安装路径中bin目录下找到create-rmi-keystore.bat点击运行,然后跟着提示输入即可,最后在bin目录下会生成rmi_keystore.jks文件,把这个文件复制到每一个远程机的bin目录下
解决二:控制机(本机)和远程机在jmeter安装路径中bin目录下找到jmeter.properties文件,打开就找到注释掉的server.rmi.ssl.disable=false,去除注释并修改成server.rmi.ssl.disable=true,保存后,远程机在cmd中从新启动jmeter-server服务;如果控制机也想当远程机使用,也要从新启动jmeter-server服务。
问题三
如运行就报如下问
Error in rconfigure() method java.rmi.ConnectException: Connection refused to host: 192.169.232.89; nested exception is:
java.net.ConnectException: Connection timed out: connect
这就是控制机调用远程机时识别了虚拟机IP,导致的错误。
解决方法:就是把控制机和远程机,在控制面板\网络和 Internet\网络连接中心,禁用,只留下以太网
问题四
Error in rconfigure() method java.rmi.ConnectException: Connection refused to host: 192.169.10.110; nested exception is:
java.net.ConnectException: Connection timed out: connect
控制机运行时,报错。显示连接不上执行机,执行机jmeter-server服务已启动,但无法实际连接,查看执行机jmeter-server服务窗口,发现服务启动调用的是虚拟机IP,不是执行机IPv4的IP,导致报错连接不上
解决办法:在不禁用虚拟机的情况下,在\bin目录下,查找sysbm.propreties配置文件,打开文件,添加java.rmi.server.hostname=192.168.10.110(本机的IPv4的IP),
修改完成后保存,再启动jmeter-server服务,查看服务窗口,IP就不会调用到虚拟机IP。
(更新日期:2022.08.18)