centos

CentOS JMeter分布式测试实战

小樊
51
2025-10-07 07:22:44
栏目: 智能运维

CentOS JMeter分布式测试实战指南

一、环境准备

1. 基础环境要求

所有节点(Master控制节点、Slave工作节点)需满足:相同版本的JDK(建议1.8)相同版本的JMeter(建议5.4及以上)CentOS 7/8系统(确保内核稳定)。版本不一致会导致通信异常或功能不兼容。

2. 安装Java环境

在所有节点执行以下命令安装OpenJDK 1.8:

sudo yum install -y java-1.8.0-openjdk-devel
# 验证安装
java -version  # 应输出1.8.x版本信息
javac -version # 确认编译工具可用

3. 下载并解压JMeter

在所有节点执行以下命令(以JMeter 5.5为例):

wget https://downloads.apache.org/jmeter/binaries/apache-jmeter-5.5.tgz
tar -xzf apache-jmeter-5.5.tgz -C /opt/  # 解压至/opt目录
# 设置环境变量(可选但推荐)
echo "export JMETER_HOME=/opt/apache-jmeter-5.5" >> ~/.bashrc
echo "export PATH=\$JMETER_HOME/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc  # 生效环境变量

验证JMeter安装:

jmeter -v  # 应输出JMeter版本及构建信息

二、Slave节点配置

1. 修改JMeter配置文件

进入Slave节点的JMeter目录,编辑bin/jmeter.properties文件:

vim /opt/apache-jmeter-5.5/bin/jmeter.properties

修改以下关键参数:

# 禁用SSL(简化配置,若需启用需配置证书)
server.rmi.ssl.disable=true
# 设置RMI服务器主机名为当前节点IP(避免域名解析问题)
rmi.server.hostname=<Slave节点IP>
# 设置远程启动端口(默认1099,可自定义但需与Master一致)
server.rmi.localport=1099

2. 启动JMeter Server服务

在Slave节点终端执行:

cd /opt/apache-jmeter-5.5/bin/
./jmeter-server

正常启动后会显示类似日志:

Starting the test on host <Slave节点IP> @ [当前时间] (JMeter version 5.5)

三、Master节点配置

1. 修改JMeter配置文件

进入Master节点的JMeter目录,编辑bin/jmeter.properties文件:

vim /opt/apache-jmeter-5.5/bin/jmeter.properties

修改以下参数:

# 指定Slave节点的IP和端口(多节点用逗号分隔)
remote_hosts=<Slave1_IP>:1099,<Slave2_IP>:1099
# 可选:设置客户端RMI端口(默认0为随机)
client.rmi.localport=0

2. (可选)优化jmeter-server文件

编辑Master节点的bin/jmeter-server文件,在RMI_HOST_DEF处取消注释并设置为Master节点IP:

vim /opt/apache-jmeter-5.5/bin/jmeter-server

修改以下行:

RMI_HOST_DEF=-Djava.rmi.server.hostname=<Master节点IP>

四、启动分布式测试

1. 命令行方式(推荐)

在Master节点终端执行以下命令:

jmeter -n \          # 非GUI模式(必需)
-t /opt/scripts/test_plan.jmx \  # 测试计划文件路径
-R <Slave1_IP>:1099,<Slave2_IP>:1099 \  # 指定Slave节点
-l /opt/results/result.jtl \  # 结果文件路径
-e \                 # 测试完成后生成报告
-o /opt/results/html_report  # 报告输出目录

参数说明:

2. GUI方式(调试用)

在Master节点启动JMeter GUI:

jmeter

点击顶部菜单栏【运行】→【远程启动】→ 选择所有Slave节点(或“远程启动所有”),即可启动分布式测试。

五、常见问题排查

1. 连接失败

2. 版本不一致

3. 参数化文件缺失

4. 节点未响应

通过以上步骤,即可在CentOS环境下完成JMeter分布式测试的部署与执行。测试过程中建议通过tail -f /opt/results/result.jtl实时查看结果文件,或通过Master节点的GUI界面监控实时数据。

0
看了该问题的人还看了