JMeter在CentOS上的自动化测试
导读:在 CentOS 上落地 JMeter 自动化测试 一 环境准备与安装 安装 Java 8+(JMeter 5.x 要求),建议设置为默认版本: 示例(以 OpenJDK 为例):sudo yum install -y java-1.8...
在 CentOS 上落地 JMeter 自动化测试
一 环境准备与安装
- 安装 Java 8+(JMeter 5.x 要求),建议设置为默认版本:
- 示例(以 OpenJDK 为例):sudo yum install -y java-1.8.0-openjdk-devel
- 验证:java -version 与 javac -version
- 安装 JMeter(无 GUI 的服务器环境推荐直接下载 Apache 发行包):
- 下载地址:https://jmeter.apache.org/download_jmeter.cgi
- 解压并放入如 /usr/local/jmeter,将 /usr/local/jmeter/bin 加入 PATH,便于直接执行 jmeter 命令
- 基本验证:jmeter -v 应输出版本号;如无权限,请使用具有执行权限的用户或调整目录权限
二 非 GUI 执行与报告生成
- 命令行核心参数:
- -n:非 GUI 模式
- -t:指定测试计划 .jmx
- -l:指定结果日志 .jtl
- -j:指定 JMeter 运行日志
- -e:测试结束后生成 HTML 报告
- -o:指定 HTML 报告输出目录(必须为空目录)
- 最小可用执行示例:
- jmeter -n -t /usr/local/jmeter/script/test.jmx -l /usr/local/jmeter/log/test.jtl -j /usr/local/jmeter/log/run.log -e -o /usr/local/jmeter/html/report
- 报告与结果要点:
- 生成的 HTML 报告包含 响应时间、吞吐量、错误率 等关键指标,便于分析瓶颈与回归对比
三 与 Jenkins 集成实现持续性能测试
- 在 Jenkins 安装插件:Performance Plugin(用于展示 JMeter 性能趋势与对比)
- 构建步骤示例(执行 Shell):
- 清理旧数据:rm -rf /usr/local/jmeter/log/* /usr/local/jmeter/html/*
- 执行测试:/usr/local/jmeter/bin/jmeter.sh -n -t /usr/local/jmeter/script/test.jmx -l test.jtl -j /usr/local/jmeter/log/test.log
- 构建后操作:
- 选择 Publish Performance Test Result Report,指定 test.jtl 作为数据源,即可在 Jenkins 中查看趋势、图表与阈值判断
四 监控与结果分析
- 被测服务器资源监控(在目标服务器执行,与 JMeter 并发运行):
- 系统自带工具:top、htop、vmstat(观察 CPU、内存、I/O、上下文切换等)
- 更便于事后分析的工具:nmon(示例:nmon -f -t -s 5 -c 60 -F /data/test.nmon,含义为每 5s 采样一次、共 60 次,结果写入文件)
- 测试过程可视化(进阶):
- 结合 InfluxDB + Grafana 搭建实时监控看板,将 JMeter 结果写入 InfluxDB,在 Grafana 中展示 响应时间、吞吐量、并发数 等曲线,便于定位性能拐点与瓶颈
五 常见问题与优化建议
- 始终使用 非 GUI 模式 执行压测;GUI 仅用于本地调试与脚本编写
- 每次生成 HTML 报告前确保 输出目录为空,否则报告生成可能失败或内容残留
- 合理设置 线程数、Ramp-Up、循环次数 与超时,避免瞬时冲击导致失真或测试机自身成为瓶颈
- 分布式压测建议:在 多台 CentOS 从节点部署 JMeter,使用 -R 指定远程主机;主控机只负责聚合与报告
- 结果可回溯:妥善归档 .jmx、.jtl、HTML 报告、nmon 文件 与 Jenkins 构建信息,便于对比版本与回归分析
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: JMeter在CentOS上的自动化测试
本文地址: https://pptw.com/jishu/761216.html
