1. 课程导论与平台概览
1.1 容量压测的重要性
在互联网业务高速迭代的今天,系统稳定性直接关系到用户体验与商业收入。容量压测(Capacity Load Testing)是保障系统在高并发、高负载场景下仍能正常运行的唯一有效手段。通过模拟真实用户流量,提前发现性能瓶颈、评估系统容量水位,避免线上故障。
核心价值: 容量压测不是“测不测”的问题,而是“什么时候测、怎么测、测多准”的问题。一次成功的压测可以避免数小时的线上宕机与数百万的营收损失。
| 维度 | 说明 | 典型场景 |
|---|---|---|
| 稳定性验证 | 验证系统在峰值流量下是否崩溃 | 双11、秒杀、大促 |
| 容量规划 | 确定当前架构能支撑的最大并发 | 新服务上线、扩缩容决策 |
| 性能调优 | 定位慢SQL、高CPU、内存泄漏 | 版本迭代、架构升级 |
| SLA保障 | 确保响应时间、错误率达标 | 金融交易、实时通信 |
1.2 k6 简介
k6 是一款由 Grafana 开源的现代化负载测试工具,采用 Go 语言开发核心引擎,使用 JavaScript 编写测试脚本。它具备轻量、高性能、可编程、云原生等特性,已成为业界压测脚本开发的首选工具之一。
- 脚本语言: JavaScript(ES6+),学习成本低,生态丰富
- 执行引擎: Go 编写,单机可模拟数万虚拟用户(VU)
- 指标内置: 自动采集请求速率、延迟、错误率、吞吐量
- 分布式支持: 原生支持 k6-operator 与 Kubernetes 集群执行
- 可观测性: 支持 Prometheus、InfluxDB、Datadog 等输出
为什么选择 k6? 相比 JMeter 的 GUI 配置方式,k6 采用代码即脚本(Code as Script)模式,天然适合 CI/CD 流水线集成,且资源消耗极低,单机压测能力远超传统工具。
1.3 作业平台整体架构
本课程构建的《容量压测作业平台》是一套面向企业级的一站式压测解决方案,覆盖脚本开发、任务调度、分布式执行、实时监控与报告分析全流程。平台整体采用微服务架构,核心组件如下:
架构要点: 平台通过 k6-operator 在 Kubernetes 集群中动态拉起多个 k6 Worker 实例,实现分布式压测。脚本管理服务支持版本管理与在线编辑,任务调度服务负责并发控制与资源分配,报告聚合服务实时汇总各 Worker 的指标数据。
1.4 课程目标与学习路径
本课程面向具备一定编程基础(JavaScript 基础即可)的测试开发工程师、SRE 与后端开发者,旨在帮助学员从零构建一套可落地的容量压测作业平台。课程共 30 章,分为四大阶段:
| 阶段 | 章节范围 | 核心产出 |
|---|---|---|
| 基础入门 | 第 1-5 章 | 掌握 k6 脚本语法、生命周期、指标采集 |
| 脚本开发 | 第 6-15 章 | 编写复杂业务脚本、数据驱动、断言、阈值 |
| 平台构建 | 第 16-25 章 | 搭建 Web 作业平台、集成 k6-operator、分布式执行 |
| 实战进阶 | 第 26-30 章 | CI/CD 集成、大规模压测、报告可视化、性能调优 |
前置要求: 建议学员提前熟悉 JavaScript 基本语法(变量、函数、Promise)、HTTP 协议基础(请求/响应模型)、以及 Docker 与 Kubernetes 的基本概念。课程中会提供必要的环境搭建指南。