在 Ubuntu 上运行 JMeter 的完整步骤
一 环境准备
- 安装 Java(Ubuntu 推荐 OpenJDK 8/11/17/21)。示例安装 OpenJDK 11:
- sudo apt update
- sudo apt install -y openjdk-11-jdk
- java -version
- 下载并解压 Apache JMeter(以 5.6.2 为例,建议使用最新稳定版):
- wget https://dlcdn.apache.org/jmeter/binaries/apache-jmeter-5.6.2.tgz
- tar -xzf apache-jmeter-5.6.2.tgz
- sudo mv apache-jmeter-5.6.2 /opt/jmeter
- 配置环境变量(/etc/profile 或 ~/.bashrc):
- export JMETER_HOME=/opt/jmeter
- export PATH=$JMETER_HOME/bin:$PATH
- source /etc/profile 或 source ~/.bashrc
- 验证安装:
- jmeter -v(应输出版本号,如:5.6.2)
二 运行方式
- 图形化界面(仅用于本地调试,服务器无桌面不建议使用)
- 非 GUI 命令行(压测推荐)
- 基本运行:jmeter -n -t /path/test.jmx -l /path/result.jtl
- 生成 HTML 报告:jmeter -n -t /path/test.jmx -l /path/result.jtl -e -o /path/report
- 常用参数说明:
- -n 非 GUI 模式
- -t 指定 JMX 脚本
- -l 保存结果到 JTL 文件
- -j 指定日志文件
- -e 生成报告
- -o 指定报告输出目录(需为空目录)
- 查看结果
- 命令行:tail -f /path/result.jtl
- 图形化:在 JMeter 中“添加 → 监听器 → 聚合报告/查看结果树”,加载 .jtl 文件查看
三 常见问题与处理
- Java 未找到或版本不兼容
- 确认 java -version 输出正常;JMeter 5.x 建议使用 JDK 8/11/17/21。
- 插件或依赖缺失(如 WebSocket 场景)
- 将所需 JAR 放到 $JMETER_HOME/lib/ext/,例如使用 WebSocket 时需将相关依赖包(如 jetty-.jar、websocket-.jar)一并放入,再重启 JMeter。
- 运行报错 ClassNotFound/NoClassDefFoundError
- 检查依赖 JAR 是否在 lib/ext,以及 JMETER_HOME 与 PATH 是否正确。
- 报告目录非空导致生成失败
四 分布式压测简要步骤(可选)
- 架构与控制/执行机
- 控制机分发脚本并汇总结果;执行机实际施压;通过 RMI 通信,默认端口 1099。
- 执行机配置
- 在 jmeter.properties 中设置:server.rmi.ssl.disable=true
- 设置本机 IP:java.rmi.server.hostname=执行机IP
- 启动服务:./jmeter-server -Djava.rmi.server.hostname=执行机IP(可用 nohup 后台运行)
- 控制机配置与运行
- 在 jmeter.properties 中设置:remote_hosts=执行机IP:1099(多个用逗号分隔)
- 远程执行:jmeter -n -t /path/test.jmx -r -l result.jtl
- 网络与资源
- 开放 1099 及高端口范围(如 4000–5000),确保主机名可解析,脚本与数据文件在各执行机路径一致。