Ubuntu下JMeter分布式测试怎么做
导读:Ubuntu下JMeter分布式测试实施步骤 1. 前提准备  环境要求:所有节点(Controller与Workers)需安装相同版本的JDK(≥11)和相同版本的JMeter(建议使用最新稳定版,如5.6.3+),避免兼容性问题。 网络...
    
Ubuntu下JMeter分布式测试实施步骤
1. 前提准备
- 环境要求:所有节点(Controller与Workers)需安装相同版本的JDK(≥11)和相同版本的JMeter(建议使用最新稳定版,如5.6.3+),避免兼容性问题。
- 网络要求:所有节点处于同一局域网,确保彼此互通(可通过ping命令验证);防火墙需开放RMI通信端口(默认1099)及JMeter Server端口(默认动态分配,可通过-Dserver.rmi.port指定)。
2. 安装JDK与JMeter
- 
安装JDK:在所有节点执行以下命令安装OpenJDK 11: sudo apt update sudo apt install -y openjdk-11-jdk验证安装: java -version(需显示Java 11版本信息)。
- 
安装JMeter: - 从JMeter官网下载最新稳定版压缩包(如apache-jmeter-5.6.3.tgz)。
- 解压至目标目录(如/opt/jmeter):tar -xzf apache-jmeter-5.6.3.tgz -C /opt/
- 配置环境变量:编辑~/.bashrc,添加以下内容:export JMETER_HOME=/opt/apache-jmeter-5.6.3 export PATH=$JMETER_HOME/bin:$PATHsource ~/.bashrc。
- 验证安装:jmeter --version(需显示JMeter版本信息)。
 
- 从JMeter官网下载最新稳定版压缩包(如
3. 配置Worker节点(执行机)
- 
修改JMeter属性文件:进入Worker节点的JMeter安装目录,编辑 bin/jmeter.properties:- 找到server.rmi.ssl.disable,取消注释并设置为true(禁用SSL,简化配置):server.rmi.ssl.disable=true
- (可选)修改server_port(默认1099,若冲突可调整,如server_port=1100)。
 
- 找到
- 
修改JMeter Server启动脚本:编辑 bin/jmeter-server,找到RMI_HOST_DEF,取消注释并设置为Worker节点的IP地址(如192.168.1.101):RMI_HOST_DEF=-Djava.rmi.server.hostname=192.168.1.101保存后,赋予执行权限: chmod +x bin/jmeter-server。
- 
启动Worker节点:在Worker节点执行以下命令启动JMeter Server: jmeter-server若需后台运行,可使用 nohup:nohup jmeter-server > jmeter-server.log 2> & 1 &启动成功会显示类似日志: Created remote object: UnicastServerRef2[endpoint:[192.168.1.101:1100](local)]。
4. 配置Controller节点(管理机)
- 修改JMeter属性文件:进入Controller节点的JMeter安装目录,编辑bin/jmeter.properties:- 找到remote_hosts,取消注释并将Worker节点的IP地址及端口添加至末尾(多个Worker用逗号分隔,如192.168.1.101:1100,192.168.1.102:1100):remote_hosts=192.168.1.101:1100,192.168.1.102:1100
- 确保server.rmi.ssl.disable=true(与Worker节点一致)。
 
- 找到
5. 执行分布式测试
- 
验证节点连接:在Controller节点执行以下命令,查看是否能连接到所有Worker节点: jmeter -n -t < 测试脚本.jmx> -l < 结果文件.jtl> -r其中: - -n:非GUI模式运行;
- -t:指定测试脚本路径(如- /opt/scripts/performance-test.jmx);
- -l:指定结果文件路径(如- /opt/results/result.jtl);
- -r:远程启动所有配置的Worker节点。
 
- 
查看测试结果:测试完成后,可通过Controller节点的JMeter GUI打开结果文件( .jtl),查看聚合后的响应时间、吞吐量等指标。
6. 注意事项
- 版本一致性:Controller与所有Worker的JDK、JMeter版本必须完全一致,否则可能导致脚本执行失败。
- 参数文件同步:若测试脚本使用CSV参数化,需将参数文件复制到所有Worker节点的相同路径(如/opt/scripts/data.csv),并在脚本中正确配置路径(如${ __P(file.separator,)} data.csv)。
- 防火墙设置:确保所有节点的防火墙允许RMI通信(默认1099端口)及JMeter Server端口(如1100)的入站/出站流量。
- 结果收集:分布式测试的结果默认汇总到Controller节点的结果文件中,Worker节点仅发送汇总数据,不保留详细响应内容(如需查看详细响应,需在Worker节点的jmeter.properties中设置jmeter.save.saveservice.output_format=xml)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu下JMeter分布式测试怎么做
本文地址: https://pptw.com/jishu/740421.html
