linux-sre-handbook

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

大促容量规划

延伸阅读