在 CentOS 上使用 JMeter 进行分布式压测,核心思路是:1 台控制机(Controller / Master)+ 多台执行机(Slave / Agent)。下面给你一套可直接落地的步骤。
yum install -y java-1.8.0-openjdk
java -version
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
vi /etc/profile
export JMETER_HOME=/opt/jmeter
export PATH=$JMETER_HOME/bin:$PATH
source /etc/profile
JMeter 分布式默认端口:
firewall-cmd --add-port=1099/tcp --permanent
firewall-cmd --reload
⚠ 如果是云服务器,还要在安全组放行端口
cd /opt/jmeter/bin
./jmeter-server
正常输出:
Created remote object: UnicastServerRef2 [liveRef: [endpoint:10.0.0.12:1099]]
编辑:
vi jmeter.properties
修改:
server.rmi.client.hostname=10.0.0.12
vi /opt/jmeter/bin/jmeter.properties
添加:
remote_hosts=10.0.0.12:1099,10.0.0.13:1099
server.rmi.client.hostname=10.0.0.10
jmeter
jmeter -n \
-r \
-t test.jmx \
-l result.jtl \
-e -o report
参数说明:
-n:非 GUI-r:启动所有 remote_hosts-t:脚本-l:结果文件-e -o:生成 HTML 报告server.rmi.client.hostname-rhostname -i
确保解析正常,或强制指定 IP
Master(控制)
|
|-- Slave1
|-- Slave2
|-- Slave3
如果你愿意,我可以:
直接说你的压测目标即可。