温馨提示×

centos jmeter如何分布式

小樊
43
2026-10-09 07:18:12
栏目: 智能运维

在 CentOS 上使用 JMeter 进行分布式压测,核心思路是:1 台控制机(Controller / Master)+ 多台执行机(Slave / Agent)。下面给你一套可直接落地的步骤。


一、环境准备(所有机器)

1. 安装 Java

yum install -y java-1.8.0-openjdk
java -version

2. 安装 JMeter(版本必须一致)

cd /opt
wget https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-5.6.3.tgz
tar -zxvf apache-jmeter-5.6.3.tgz
ln -s /opt/apache-jmeter-5.6.3 /opt/jmeter

3. 配置环境变量(可选)

vi /etc/profile
export JMETER_HOME=/opt/jmeter
export PATH=$JMETER_HOME/bin:$PATH
source /etc/profile

二、防火墙 & 端口(非常重要)

JMeter 分布式默认端口:

  • Server(Slave):1099(可改)
  • 通信端口:随机(建议固定)

开放端口

firewall-cmd --add-port=1099/tcp --permanent
firewall-cmd --reload

⚠ 如果是云服务器,还要在安全组放行端口


三、Slave(执行机)配置

1. 启动 jmeter-server

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

正常输出:

Created remote object: UnicastServerRef2 [liveRef: [endpoint:10.0.0.12:1099]]

2. 指定 IP(避免多网卡问题)

编辑:

vi jmeter.properties

修改:

server.rmi.client.hostname=10.0.0.12

四、Master(控制机)配置

1. 配置 Slave 列表

vi /opt/jmeter/bin/jmeter.properties

添加:

remote_hosts=10.0.0.12:1099,10.0.0.13:1099

2. 指定本机 IP(多网卡必配)

server.rmi.client.hostname=10.0.0.10

五、GUI 方式运行(调试用)

jmeter
  • 写好测试计划
  • Run → Remote Start → 选择 Slave

六、非 GUI 分布式压测(生产推荐 ✅)

jmeter -n \
-r \
-t test.jmx \
-l result.jtl \
-e -o report

参数说明:

  • -n:非 GUI
  • -r:启动所有 remote_hosts
  • -t:脚本
  • -l:结果文件
  • -e -o:生成 HTML 报告

七、常见问题排查

1. 连接失败

  • IP 写错
  • 防火墙未开
  • 多网卡未指定 server.rmi.client.hostname

2. 结果只来自一台

  • 没加 -r
  • remote_hosts 没生效

3. 报错 hostname

hostname -i

确保解析正常,或强制指定 IP


八、推荐架构

Master(控制)
  |
  |-- Slave1
  |-- Slave2
  |-- Slave3

如果你愿意,我可以:

  • ✅ 给你一份 生产级 jmeter.properties
  • ✅ 帮你写 一键启动脚本
  • ✅ 帮你算 需要多少 Slave

直接说你的压测目标即可。

0 踩