CentOS环境下JMeter分布式测试实现步骤
sudo yum install java-1.8.0-openjdk-devel -y,验证版本:java -version。apache-jmeter-5.5.tgz),解压至指定目录(如/opt/apache-jmeter-5.5)。进入Slave节点的JMeter bin目录,编辑jmeter.properties文件:
server.rmi.ssl.disable,设置为true(禁用SSL,避免证书问题);rmi.server.hostname,设置为Slave节点的本机IP(如rmi.server.hostname=192.168.1.101);server.rmi.localport,设置为固定端口(如server.rmi.localport=1099,默认1099)。在Slave节点的JMeter bin目录下,执行命令启动服务:
./jmeter-server
若启动报错“Cannot start. xxx is a loopback address”,需修改jmeter-server文件(在文件开头添加):
RMI_HOST_DEF=-Djava.rmi.server.hostname=192.168.1.101(替换为Slave本机IP),再重新启动。
进入Master节点的JMeter bin目录,编辑jmeter.properties文件:
remote_hosts,添加所有Slave节点的IP:端口(如remote_hosts=192.168.1.101:1099,192.168.1.102:1099,多个节点用逗号分隔)。若Master节点也作为Slave参与压测,需在jmeter.properties中添加本机IP到remote_hosts(如remote_hosts=192.168.1.100:1099,192.168.1.101:1099),并在jmeter-server文件中设置RMI_HOST_DEF为本机IP。
在Master节点的终端执行以下命令:
./jmeter -n -t /path/to/test_plan.jmx -R 192.168.1.101:1099,192.168.1.102:1099 -l /path/to/results.jtl -e -o /path/to/report
-n:非GUI模式运行;-t:指定测试计划文件路径;-R:指定Slave节点的IP和端口(可省略,若remote_hosts已配置);-l:指定结果文件路径(需不存在,避免覆盖);-e:测试结束后生成HTML报告;-o:报告输出目录(需为空目录)。./jmeter);server.rmi.localport(如1099)端口开放(可通过firewall-cmd --add-port=1099/tcp --permanent和firewall-cmd --reload开启)。bin目录下,并确保路径与Master节点一致(如/opt/apache-jmeter-5.5/bin/data.csv)。top、free -m、iftop命令),避免节点过载导致测试异常。