2. 容量水位口径定义:容量、水位、口径三者的关系与核心指标

在GameDay演练中,容量水位口径是衡量系统健康度的“标尺”。如果口径定义不统一,演练结论就会产生偏差。本节从概念关系、核心指标、口径计算三个层面建立标准。

2.1 容量、水位、口径的概念与关系

三个术语在监控语境下具有明确的层次关系:

术语 定义 监控中的角色
容量 系统或组件在SLA约束下能承载的最大负载上限 静态阈值上限,由压测或理论计算得出
水位 当前实际负载占容量的百分比 动态实时值,反映资源占用程度
口径 计算水位时所采用的统计方法与数据来源 决定水位数值的“测量尺”,不同口径产生不同水位

三者关系可概括为:口径决定如何测量,容量定义测量上限,水位给出当前读数。口径不一致时,相同集群可能得出“安全”与“告警”两种结论。

GameDay关键原则: 演练前必须锁定口径(如“CPU使用率取1分钟平均还是5分钟峰值”),否则水位对比无效。
容量 · 水位 · 口径 三角关系 容量 (Capacity) 系统最大负载上限 水位 (Water Level) 当前负载 / 容量 × 100% 口径 (Caliber) 统计方法与数据来源 口径决定水位读数,容量定义水位分母,三者缺一不可

2.2 核心指标:CPU、内存、磁盘、QPS

GameDay演练中,四个核心指标构成容量水位评估的基础。每个指标都需要明确其容量定义与水位口径。

指标 容量定义 常用水位口径 GameDay关注点
CPU 物理核数 × 单核频率 × 利用率上限(通常80%) 1分钟平均利用率 / 5分钟峰值利用率 突增流量下CPU是否触发限流
内存 物理内存总量 - 系统预留(通常预留10%) 已用内存 / 总内存(排除缓存) 内存泄漏场景下的水位爬升速度
磁盘 分区总容量 - 安全余量(建议保留20%) 已用空间 / 总空间 / IOPS饱和度 日志爆满导致磁盘写满的演练
QPS 压测得出的最大吞吐量(P99延迟≤500ms) 当前QPS / 压测最大QPS 流量突增时QPS水位与延迟的联动
口径选择建议: CPU和内存推荐使用“1分钟平均”作为日常水位口径,使用“5分钟峰值”作为告警口径。磁盘使用“已用百分比”即可,QPS必须结合延迟P99一起评估。

2.3 口径计算模型与示例

水位计算公式统一为:

水位(%) = (当前实际负载值 / 容量上限值) × 100%

但“当前实际负载值”的口径不同,结果差异显著。以下为同一台服务器的三种口径对比:

口径类型 数据来源 CPU水位 结论
瞬时值口径 当前时刻采样 72% 安全
1分钟平均口径 过去60秒平均值 68% 安全
5分钟峰值口径 过去5分钟内的最大采样 91% 危险

同一台服务器,三种口径得出“安全”与“危险”两种结论。GameDay演练中必须事先约定:以哪种口径作为决策依据。

常见陷阱: 使用“平均值”口径可能掩盖短时尖峰。例如CPU平均水位60%,但每10秒出现一次95%的尖峰,此时应增加“峰值水位”口径作为补充。
四种核心指标的水位口径对比 CPU 1min平均 / 5min峰值 内存 已用/总(排除缓存) 磁盘 已用%/IOPS饱和度 QPS 当前/压测最大 容量定义(压测/SLA约束) CPU:80%利用率 | 内存:总量-10%预留 | 磁盘:总量-20%余量 | QPS:P99≤500ms最大吞吐 水位输出(口径决定) 水位 = 当前负载值(按口径统计) / 容量上限值 × 100% 口径不同 → 水位不同 → 演练决策不同 → 必须提前统一口径

2.4 口径统一与GameDay演练清单

在GameDay演练准备阶段,建议按以下清单完成口径对齐:

  1. 确定容量基线: 每个指标的上限值来自压测还是理论计算?记录来源与更新时间。
  2. 选择水位口径: 明确每个指标使用“平均值”还是“峰值”,时间窗口是1分钟、5分钟还是10分钟。
  3. 排除干扰项: 内存指标是否排除Page Cache?磁盘是否排除临时文件系统?
  4. 定义异常水位: 设定“安全水位(<60%)”、“关注水位(60%-80%)”、“告警水位(80%-90%)”、“危险水位(>90%)”四级阈值。
  5. 记录口径变更: 任何口径调整必须在演练日志中注明,避免后续复盘时产生歧义。
GameDay演练最佳实践: 在Grafana仪表盘中为每个指标同时展示“1分钟平均水位”和“5分钟峰值水位”两条曲线,并在仪表盘标题中明确标注口径。这样在演练过程中可以同时观察两种口径的差异,避免单一口径带来的盲区。