1、准备一台性能好的机器做Controller,其他机器作为Agent。然后运行Agent机器上的JMeter-server.bat文件——假定我们使用两台机器 192.168.2.156 和 192.168.2.130 作为 Agent;
注意:配置分布式环境需要主机和从机都在同一网段(能互相ping通)
2、修改作为Controller机器中的JMeter.properties 这个文件,文件目录为:\apache-jmeter-5.2.1\bin,使用记事本或者其他文字编辑工具打开
3、在JMeter.properties文件中查找“remote_hosts=”这个字符串,这里需要修改为“remote_hosts=192.168.2.156:1099,192.168.2.130:1099”——其中的 1099 为 JMeter 的 Controller 和 Agent 之间进行通讯的默认 RMI 端口号,端口号在运行Agent上面的jmeter-server.bat时,会显示出来,注意:有些高版本的JMeter不需要写port,remote_hosts=192.168.0.1就可以了;
4、保存文件,重启 Controller 机器上的 JMeter.bat
5、Agent机器上的配置:修改jmeter-server文件 修改:RMI_HOST_DEF=-Djava.rmi.server.hostname=192.168.2.156 其中,192.168.2.156为Agent机器的ip,
6、Agent配置完成后,点击“jmeter-server.bat”文件,如果没有报错,则Agent配置成功,成功截图如下:
可能遇到的问题:
解决办法:
将Agent机器下的 bin 目录下的jemeter.properties使用记事本打开
编辑server.rmi.ssl.disable=true,保存
7、修改Controller机器的jmeter.bat文件
新增set rmi_host=-Djava.rmi.server.hostname=192.168.2.169
修改set ARGS=%DUMP% %HEAP% %NEW% %SURVIVOR% %TENURING% %PERM% %DDRAW% %rmi_host%
因为每个版本配置不同,所以,只需要在set ARGS= 的最后加上%rmi_host%即可
修改完成后,重启jmeter.bat
8、开始准备压测
打开Controller机器的jmeter.bat文件,启动jmeter,然后新建一个http请求,例如:https://www.baidu.com 然后设置一个监听器,设置截图图下
然后打开Agent的jmete-server.bat文件
9、远程进行压测
可以指定某一个Agent进行压测
也可以将所有的Agent都运行起来,点击”Remote Start All“
10、Controller机器上设置10个线程,,如果点击”Remote Start All“,实际是每一个Agent都运行10个线程