1. 课程导论与目标
1.1 为什么需要 k6 容量压测巡检?
在微服务与云原生架构下,系统容量并非一成不变。代码变更、配置调整、流量突增都可能导致性能拐点提前到来。容量压测巡检 正是将传统的“一次性压测”升级为自动化、周期化、参数化的持续验证机制。k6 作为开源、高性能、脚本化的压测工具,天然适合嵌入 CI/CD 流水线,实现巡检的自动化闭环。
核心价值: 从“人工临时压测”转向“巡检即代码”,让容量风险在每次发布前暴露,而非等到线上故障。
1.2 容量压测巡检 vs 传统压测
| 对比维度 | 传统压测 | 容量压测巡检 |
|---|---|---|
| 触发方式 | 人工手动触发,临时安排 | 定时任务 / CI 事件自动触发 |
| 脚本维护 | 每次复用或重写,参数硬编码 | 参数配置化,环境/阈值分离 |
| 结果分析 | 人工查看报告,主观判断 | 阈值自动断言,告警通知 |
| 覆盖范围 | 单次、单场景 | 多场景、多环境、持续回归 |
| 成本 | 高人力投入,低复用率 | 一次建设,长期自动化收益 |
1.3 本课程学习目标
完成本课程后,你将掌握以下核心能力:
- 编写可配置的 k6 压测脚本 —— 将 VU 数、持续时间、请求参数、阈值等抽离为外部配置。
- 设计容量巡检参数体系 —— 区分环境参数、场景参数、阈值参数,实现一处修改全局生效。
- 搭建自动化巡检流水线 —— 结合 GitHub Actions / Jenkins,定时触发压测并自动断言。
- 实现巡检结果可视化与告警 —— 输出 JSON 报告,对接 Prometheus + Grafana 或企业微信/钉钉机器人。
- 构建多环境、多场景巡检矩阵 —— 一套脚本同时覆盖测试环境、预发环境、核心链路与边缘链路。
1.4 适用人群
- 测试开发 / 性能测试工程师:希望将压测脚本工程化、自动化,摆脱重复劳动。
- SRE / 运维工程师:需要建立容量水位常态化巡检机制,提前发现性能衰减。
- 后端开发工程师:在本地或 CI 中快速验证代码变更对性能的影响。
- 技术管理者:了解容量巡检的落地路径,推动团队质量左移。
1.5 课程知识体系总览
下图展示了本课程从基础到实战的完整结构,帮助你建立全局学习路径:
1.6 课程前置准备
为了获得最佳学习体验,建议你提前准备好以下环境:
| 项目 | 版本 / 工具 | 说明 |
|---|---|---|
| k6 运行环境 | k6 v0.48+ | 支持最新 API 和模块化导入 |
| Node.js | v18+ | 用于 k6 脚本的 webpack 打包(可选) |
| Git | 任意版本 | 版本管理与 CI 集成 |
| 代码编辑器 | VS Code + k6 插件 | 语法高亮与智能提示 |
| 可选:Docker | Docker 24+ | 容器化运行 k6 巡检任务 |
学习建议: 每章都配有可直接运行的代码示例。建议你边学边练,在本地或在线 Playground 中修改参数,观察结果变化,加深理解。