05-容量规划
容量规划流程
1. 监控历史趋势
2. 预测未来需求 (业务增长 + 季节性)
3. 评估当前容量
4. 计算缺口
5. 制定扩容计划 (提前 N 周)
关键指标
| 资源 |
指标 |
扩容阈值 |
| CPU |
使用率 (us+sy) |
> 70% |
| 内存 |
使用率 (含缓存) |
> 80% |
| 磁盘 |
使用率 |
> 70% (快增长时) |
| 网络 |
带宽利用率 |
> 60% |
| 连接数 |
TIME_WAIT + ESTABLISHED |
> 80% 系统上限 |
| 文件句柄 |
已用/上限 |
> 70% |
预测方法
# Prometheus — 预测磁盘满的时间
predict_linear(node_filesystem_free_bytes[7d], 30*86400)
# 年度增长率
rate(requests_total[1y]) * 86400 * 365
扩容策略
| 策略 |
说明 |
适用 |
| 垂直扩容 |
加 CPU/内存 (Scale Up) |
数据库、单体应用 |
| 水平扩容 |
加实例 (Scale Out) |
无状态服务、微服务 |
| 自动扩容 |
HPA/KEDA/VPA |
弹性负载 |
HPA 示例
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: myapp
spec:
minReplicas: 2
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 70
大促容量规划
- 预估 QPS (业务预测 * 1.5 安全系数)
- 全链路压测(模拟真实流量)
- 提前扩容(规避弹性扩容的冷启动)
- 降级预案(万一不够,保核心链路)
延伸阅读