阅读量:42
JMeter在Debian中的分布式测试步骤
1. 准备工作
- 环境要求:所有机器(主节点+从节点)需安装相同版本的JMeter(建议使用稳定版,如5.4.x)和匹配的JDK(推荐OpenJDK 8/11,通过
java -version验证);确保所有机器在同一局域网,能互相ping通。 - IP与端口:记录主节点(Controller)和从节点(Slave)的IP地址(如主节点
192.168.1.100,从节点192.168.1.101);默认通信端口为1099(RMI端口),若需修改需同步调整所有节点配置。
2. 从节点(Slave)配置
(1) 安装JMeter
在Debian从节点上,通过以下命令下载并解压JMeter(以5.4.1为例):
wget https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.4.1.tgz
tar -xvf apache-jmeter-5.4.1.tgz
mv apache-jmeter-5.4.1 /opt/jmeter # 移动到指定目录
(2) 修改JMeter配置文件
进入从节点JMeter的bin目录,编辑jmeter.properties文件:
cd /opt/jmeter/bin
vim jmeter.properties
- 找到
server_port(默认1099),取消注释(若有)并确认端口未被占用; - 找到
server.rmi.localport(默认1099),取消注释并设置为与server_port一致; - 找到
#server.rmi.ssl.disable=false,修改为server.rmi.ssl.disable=true(禁用SSL,简化配置)。
(3) 启动从节点服务
在bin目录下执行以下命令(需用sudo提升权限,避免端口绑定失败):
sudo ./jmeter-server -Djava.rmi.server.hostname=<从节点IP>
例如:
sudo ./jmeter-server -Djava.rmi.server.hostname=192.168.1.101
启动成功后,终端会显示Started Remote host信息。
3. 主节点(Master)配置
(1) 修改JMeter配置文件
进入主节点JMeter的bin目录,编辑jmeter.properties文件:
cd /opt/jmeter/bin
vim jmeter.properties
- 找到
remote_hosts(默认127.0.0.1),修改为从节点IP列表(多个IP用逗号分隔):remote_hosts=192.168.1.101,192.168.1.102 # 示例:两台从节点 - 找到
#server.rmi.ssl.disable=false,修改为server.rmi.ssl.disable=true(与从节点一致)。
(2) 启动主节点GUI(可选)
若需通过GUI监控测试,可在主节点上启动JMeter GUI:
./jmeter
(3) 执行分布式测试
- 方式1:GUI模式下远程启动
在JMeter GUI中,点击顶部菜单栏Run→Remote Start,选择对应从节点IP(如192.168.1.101);若需启动所有从节点,点击Remote Start All。 - 方式2:命令行模式(推荐)
在主节点终端执行以下命令(非GUI模式,减少资源消耗):示例:./jmeter -n -t <测试脚本路径>.jmx -R <从节点IP列表> -l <结果文件>.jtl -j <日志文件>.log
参数说明:./jmeter -n -t /opt/jmeter/testplans/load_test.jmx -R 192.168.1.101,192.168.1.102 -l /opt/jmeter/results/result.jtl -j /opt/jmeter/logs/test.log-n:非GUI模式;-t:指定测试脚本路径;-R:指定从节点IP列表;-l:指定结果保存文件(JTL格式);-j:指定日志文件。
4. 注意事项
- 版本一致性:主节点与所有从节点的JMeter版本必须相同,避免兼容性问题;
- 防火墙设置:确保主节点与从节点之间的
1099端口(或其他自定义端口)开放,可通过sudo ufw allow 1099/tcp命令开放; - 参数化文件:若测试脚本中使用了CSV/JSON等参数化文件,需将该文件复制到所有从节点的JMeter
bin目录下(或脚本中指定绝对路径); - 资源分配:从节点需有足够的内存(建议至少2GB)和CPU资源,避免因资源不足导致测试失败;
- 结果合并:分布式测试的结果会自动合并到主节点指定的
.jtl文件中,可通过JMeter GUI打开该文件查看聚合报告。