Jenkins如何在Linux进行性能测试
导读:在 Linux 上使用 Jenkins 执行性能测试的标准流程 一 架构与准备 组件选型:在 Linux 上以 Jenkins 为调度平台,使用 Apache JMeter 执行压测,配合 Performance Plugin 在 Jen...
在 Linux 上使用 Jenkins 执行性能测试的标准流程
一 架构与准备
- 组件选型:在 Linux 上以 Jenkins 为调度平台,使用 Apache JMeter 执行压测,配合 Performance Plugin 在 Jenkins 中展示趋势与对比;如需可视化与历史数据,可引入 InfluxDB + Grafana。
- 环境与权限:准备 JDK 8+、安装 JMeter(建议与 Jenkins 同机或专机)、确保工作空间目录可被 **Jenkins 用户(如 jenkins)**读写。
- 插件清单:安装 Performance Plugin(解析 JMeter 等报告并绘图)、HTML Publisher(展示 HTML 报告)、可选 Email Extension Plugin(邮件通知)。
- 触发方式:代码托管用 Git/GitLab,通过 Webhook 触发构建,形成“提交即压测”的闭环。
二 快速落地步骤
- 安装与配置
- 安装 JMeter:下载解压,配置环境变量(如 JMETER_HOME),命令行执行
jmeter -v验证。 - 安装 Jenkins 插件:在“系统管理–管理插件”中安装 Performance Plugin、HTML Publisher,必要时安装 Email Extension Plugin。
- 安装 JMeter:下载解压,配置环境变量(如 JMETER_HOME),命令行执行
- 创建任务
- 新建 Freestyle 或 Pipeline 任务,源码管理选择 Git,配置 GitLab Webhook 触发构建。
- 执行与产出
- 在构建步骤执行 JMeter(非 GUI):
jmeter -n -t your.jmx -l result.jtl -e -o report/html(-n 非 GUI、-t 脚本、-l 结果、-e 生成报表、-o 输出目录)。 - 归档与展示:使用 HTML Publisher 发布
report/html;使用 Performance Plugin 读取result.jtl,在构建页展示 响应时间、吞吐量、错误率 趋势与对比。
- 在构建步骤执行 JMeter(非 GUI):
- 通知
- 配置 Email Extension Plugin,在性能阈值不达标时发送告警邮件。
三 分布式压测与扩展
- 适用场景:当单台压测机资源不足或需要更大并发时,使用 JMeter 分布式(Master–Slave)。
- 关键配置
- 在 jmeter.properties 中关闭 SSL:
server.rmi.ssl.disable=true;设置本机 IP:java.rmi.server.hostname=< 调度机IP>;自定义端口:server_port=1089、server.rmi.localport=1089。 - 调度机
remote_hosts填写执行机列表(如10.0.0.11:1089,10.0.0.12:1089)。 - 各执行机同样配置
server.rmi.ssl.disable=true与java.rmi.server.hostname=< 执行机IP>,并启动代理:sh apache-jmeter-< version> /bin/jmeter-server。
- 在 jmeter.properties 中关闭 SSL:
- 运行与收敛:调度机执行
jmeter -n -t your.jmx -R < 执行机列表> -l result.jtl -e -o report/html,由调度机统一汇总报告。
四 可视化监控与报告优化
- 可选方案:搭建 InfluxDB + Grafana,在 JMeter 中启用后端监听器将指标写入 InfluxDB,Grafana 配置面板展示 RT、TPS、Active Threads 等实时曲线,用于容量评估与瓶颈定位。
- HTML 报告显示:若 Jenkins 页面中 HTML 报告样式/内容不显示,在构建步骤中加入:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")(注意该设置会降低 CSP 安全性,仅测试环境或受控网络使用)。 - 报告归档策略:每次构建前清理历史 .jtl 与 HTML 目录,避免报告错乱或磁盘占满。
五 常见问题与最佳实践
- 路径与权限:确保 JMeter、脚本、数据文件、报告目录对 jenkins 用户可读写;构建日志中若报“无权限/找不到文件”,优先检查工作空间路径与权限。
- 插件兼容:安装 Performance Plugin 时注意与 Jenkins 版本匹配,必要时选择对应版本的 hpi 离线安装。
- 参数化与可重复:将 线程数、循环次数、持续时间 等作为构建参数,便于不同分支/版本复用同一脚本;每次运行前清理历史 jtl/html,保证报告一致性。
- 触发策略:使用 GitLab Webhook 实现“推送即压测”,并在合并请求阶段阻断不达标构建,保障主干质量。
- 资源隔离:压测对 CPU/内存/网络 消耗大,建议与 Jenkins 主节点或其他服务隔离部署,避免相互干扰。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Jenkins如何在Linux进行性能测试
本文地址: https://pptw.com/jishu/748435.html
