1. 前置条件
1.1 先准备至少两台以上windows服务器,一台做master,一台做slave,如有两台(172.16.0.1, 172.16.0.2)
1.2 两台服务器网络需互通,关闭防火墙
1.3 两台服务器已安装相同版本的jdk
1.4 以jmeter5.4.3为例
2. 操作步骤
以下内容上传至/test目录为例
2.1 master服务器操作(172.16.0.1)
2.1.1 安装包上传至服务器的/test目录,进行解压
2.1.2 进入jmeter的bin目录 /test/jmeter-5.4.3/bin,编辑jmeter.properties文件的以下内容,编辑后保存
2.1.3 生成秘钥文件
进入jmeter的bin目录 /test/jmeter-5.4.3/bin,打开文件 create-rmi-keystore.bat,复制出以下内容,复制后,打开cmd,执行复制出的内容:
keytool -genkey -keyalg RSA -alias rmi -keystore rmi_keystore.jks -storepass changeit -validity
7 -keysize 2048
执行完成后,会生成一份秘钥文件rmi_keystore.jks,理论上你在哪个目录打开的cmd,文件就会生成在哪个目录
PS:如果执行报错,可进入到jdk的bin目录下执行,keytool是jdk/bin目录下的二进制文件
可在系统属性中找到配置的环境变量,来找到jdk目录,如果环境变量中没有,可能你还没配置,配置即可
2.1.4 配置秘钥文件
将 rmi_keystore.jks 分别复制到master和slave两台机的jmeter的bin目录下
2.2 slave服务器操作(172.16.0.2)
2.2.1 安装包上传至服务器的/test目录,进行解压
2.2.2 进入jmeter的bin目录 /test/jmeter-5.4.3/bin,编辑jmeter.properties文件的以下内容,编辑后保存
3. 运行jmeter
3.1 先启动slave服务器(172.16.0.2)
进入jmeter的bin目录 /tset/jmeter-5.4.3/bin,打开cmd,执行命令jmeter-server.bat -Djava.rmi.server.hostname=172.16.0.2 ,不要关闭打开的cmd窗口
3.2 再启动master服务器(172.16.0.1)
3.2.1 进入jmeter的bin目录 /tset/jmeter-5.4.3/bin,打开cmd,执行命令jmeter-server.bat -Djava.rmi.server.hostname=172.16.0.1 ,不要关闭打开的cmd窗口
3.2.1 进入jmeter的bin目录 /tset/jmeter-5.4.3/bin,找到文件jmeter.bat,双击打开GUI窗口
3.3 运行脚本
打开脚本,通过点击Run-Remote Start All 可在所有配置的节点上运行脚本,也可点击 Remote Start -> 指定IP到只在其中一台节点运行
4. 问题排查
4.1 点击Run时,远程机连接被拒绝
排查端口和网络是否畅通,在cmd命令行窗口中通过telnet 172.16.0.1 1099 ,两台服务器都检查网络。
排查过程中,两台服务器都排查畅通后,仍报上述错误,通过关闭防火墙后,上述问题才解决,猜测可能还有非1099端口也在通信,所以单纯在防火墙中开放1099端口,仍无法正常连通。