1. 容量规划基础:定义、目标与核心原则
1.1 容量规划的定义
容量规划(Capacity Planning)是指在给定服务水平目标(SLO)的前提下,系统性地确定未来一段时间内所需的 IT 资源类型、数量与时间点,并制定资源供给策略的过程。它不是一个一次性活动,而是贯穿系统全生命周期的持续管理实践。
核心定义公式:
容量规划 = 需求预测 × 资源建模 × 供给策略 × 持续校准
容量规划 = 需求预测 × 资源建模 × 供给策略 × 持续校准
容量规划覆盖的资源维度包括:
- 计算资源:CPU 核数、vCPU、容器 Pod 数、函数并发数
- 内存资源:物理内存、堆内存、缓存容量(Redis/Memcached)
- 存储资源:磁盘 IOPS、吞吐量、容量(块/文件/对象存储)
- 网络资源:带宽、连接数、QPS、延迟
- 外部依赖:数据库连接池、第三方 API 配额、消息队列积压
1.2 容量规划的目标
容量规划的最终目标是在成本与性能之间找到最优平衡点,具体可拆解为以下四个子目标:
| 目标维度 | 说明 | 关键指标示例 |
|---|---|---|
| 保障可用性 | 确保系统在任何负载下不因资源耗尽而中断服务 | CPU 利用率 ≤ 70%,内存使用率 ≤ 80% |
| 满足性能 | 在预期负载下,响应时间、吞吐量满足 SLO | P99 延迟 ≤ 200ms,QPS ≥ 10000 |
| 优化成本 | 避免过度配置导致的资源浪费,实现弹性伸缩 | 资源利用率 ≥ 40%,闲置资源占比 ≤ 10% |
| 支撑增长 | 提前识别容量瓶颈,为业务增长预留缓冲 | 提前 3-6 个月扩容,预留 30% 余量 |
实践要点:容量规划不是"越大越好",而是"刚刚好"。过度配置会导致云成本失控,配置不足则引发故障。通常建议将目标利用率设定在 60%-75% 之间,既保留缓冲又避免浪费。
1.3 核心原则
容量规划遵循以下六项核心原则,这些原则直接指导后续的压测脚本设计与容量模型构建:
- 以业务驱动:容量规划必须从业务指标(如日活、订单量、并发用户数)出发,而非单纯关注基础设施指标。
- 数据驱动决策:所有容量决策必须基于历史监控数据、压测数据和趋势分析,避免"拍脑袋"估算。
- 预留安全缓冲:任何容量规划都必须包含一定的冗余(通常为 20%-30%),以应对突发流量和故障转移。
- 持续迭代:容量规划不是一次性的"大爆炸"活动,而是随着业务变化、架构演进持续调整的过程。
- 分层建模:从用户层 → 应用层 → 中间件层 → 基础设施层,逐层建立容量模型,避免单点视角。
- 自动化验证:容量规划的结果必须通过定期压测巡检脚本进行验证,形成"规划-验证-调整"闭环。
1.4 为什么需要容量规划
在缺乏容量规划的情况下,系统运维往往陷入"救火模式":
无容量规划的典型后果:
• 大促/秒杀活动时系统雪崩,造成直接经济损失
• 盲目扩容导致云成本飙升,资源利用率低于 20%
• 无法准确回答"当前系统能支撑多少用户"
• 每次架构变更后都需要重新摸索容量边界
• 大促/秒杀活动时系统雪崩,造成直接经济损失
• 盲目扩容导致云成本飙升,资源利用率低于 20%
• 无法准确回答"当前系统能支撑多少用户"
• 每次架构变更后都需要重新摸索容量边界
容量规划带来的核心价值体现在以下三个层面:
| 利益相关方 | 价值体现 | 具体收益 |
|---|---|---|
| 业务方 | 可预测的服务能力 | 提前知道系统能支撑多少用户、何时需要扩容 |
| 运维/SRE | 从被动救火到主动规划 | 减少 P0 故障,降低夜间被叫醒频率 |
| 财务/管理层 | 成本可预测、可优化 | 云支出从"黑盒"变为"可解释、可控制" |
1.5 容量规划与压测巡检的关系
在本课程中,容量规划不是孤立的理论,而是与压测巡检脚本深度整合的实践体系。下图展示了二者的协同关系:
课程核心观点:容量规划不是纸上谈兵,必须通过压测巡检脚本进行持续验证。本课程后续章节将逐一实现上图中的每一个脚本模块,并与容量模型深度绑定。
1.6 容量规划的成熟度模型
不同组织的容量规划实践成熟度差异很大,以下模型可帮助团队定位当前阶段并制定改进路径:
| 成熟度等级 | 特征描述 | 典型表现 | 本课程目标 |
|---|---|---|---|
| L0:救火式 | 无规划,出问题才扩容 | 频繁 P0 故障,扩容靠人工判断 | — |
| L1:被动式 | 有监控告警,但无预测 | CPU > 80% 告警后手动扩容 | — |
| L2:主动式 | 基于历史数据做趋势预测 | 每周容量报告,提前 1 周规划 | ✅ 本章基础 |
| L3:自动化 | 压测脚本自动验证容量模型 | 巡检脚本定期执行,自动生成扩容建议 | ✅ 课程核心 |
| L4:智能化 | AI 驱动动态容量优化 | 自动弹性伸缩,容量自愈 | 进阶方向 |
本课程的目标是帮助团队从 L0-L1 提升至 L3 自动化容量规划,通过压测巡检脚本实现容量模型的持续验证与自动调整。