CentOS JMeter分布式测试如何实现
导读:CentOS环境下JMeter分布式测试实现步骤 1. 环境准备 基础依赖:所有节点(控制节点/Slave节点)需安装相同版本的JDK(≥1.8)和JMeter(≥5.0),避免版本冲突。 安装JDK:sudo yum install...
CentOS环境下JMeter分布式测试实现步骤
1. 环境准备
- 基础依赖:所有节点(控制节点/Slave节点)需安装相同版本的JDK(≥1.8)和JMeter(≥5.0),避免版本冲突。
- 安装JDK:
sudo yum install java-1.8.0-openjdk-devel -y
,验证版本:java -version
。 - 下载JMeter:从官网下载对应版本的二进制包(如
apache-jmeter-5.5.tgz
),解压至指定目录(如/opt/apache-jmeter-5.5
)。
- 安装JDK:
2. 配置Slave节点(执行机)
2.1 修改JMeter配置文件
进入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)。
2.2 启动Slave服务
在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),再重新启动。
3. 配置Master节点(控制机)
3.1 修改JMeter配置文件
进入Master节点的JMeter bin
目录,编辑jmeter.properties
文件:
- 找到
remote_hosts
,添加所有Slave节点的IP:端口(如remote_hosts=192.168.1.101:1099,192.168.1.102:1099
,多个节点用逗号分隔)。
3.2 (可选)优化Master配置
若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。
4. 执行分布式测试
4.1 命令行方式(推荐)
在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
:报告输出目录(需为空目录)。
4.2 GUI方式(调试用)
- 在Master节点启动JMeter GUI(
./jmeter
); - 点击顶部菜单栏“运行”→“远程启动”,选择需启动的Slave节点(或“远程全部启动”);
- 执行后,Master会收集所有Slave的结果并汇总显示。
5. 注意事项
- 网络与防火墙:所有节点需在同一网络,确保Slave节点的
server.rmi.localport
(如1099)端口开放(可通过firewall-cmd --add-port=1099/tcp --permanent
和firewall-cmd --reload
开启)。 - 版本一致性:所有节点的JDK和JMeter版本必须完全一致,否则会出现兼容性问题(如通信失败)。
- 参数化文件:若测试脚本使用了CSV参数化文件,需将文件复制到所有Slave节点的JMeter
bin
目录下,并确保路径与Master节点一致(如/opt/apache-jmeter-5.5/bin/data.csv
)。 - 资源监控:分布式测试时,需监控各节点的CPU、内存、网络带宽使用情况(如通过
top
、free -m
、iftop
命令),避免节点过载导致测试异常。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS JMeter分布式测试如何实现
本文地址: https://pptw.com/jishu/714917.html