2. 核心概念:维度、度量、聚合与校准
在容量水位口径设计中,维度(Dimension)、度量(Metric)、聚合(Aggregation)与校准(Calibration)构成了四层核心语义体系。理解这四者的定义及其关系,是构建可解释、可复用的容量水位模型的前提。
2.1 概念定义与职责
| 概念 | 英文 | 核心职责 | 容量场景举例 |
|---|---|---|---|
| 维度 | Dimension | 描述“从什么视角观察” | 集群、机房、应用、服务、时间段 |
| 度量 | Metric | 描述“测量什么数值” | CPU 使用率、内存占用、QPS、连接数 |
| 聚合 | Aggregation | 描述“如何合并计算” | SUM、AVG、MAX、P99、COUNT |
| 校准 | Calibration | 描述“如何修正偏差” | 归一化、基线对齐、异常剔除、系数调整 |
关键认知:维度决定了度量的切片方式;聚合决定了度量的计算语义;校准决定了度量在真实环境中的可信度。四者缺一不可。
2.2 四者关系:从原始数据到校准水位
下图展示了从原始指标采集到最终校准水位输出的完整链路,清晰标出维度、度量、聚合、校准的协作位置。
2.3 维度:切分数据的坐标系
维度是描述数据所属上下文的属性集合。在容量场景中,维度决定了“从哪个粒度观察水位”。
- 业务维度:应用名、服务名、调用链、业务线。
- 基础设施维度:集群、机房、宿主机、容器、Pod。
- 时间维度:分钟、小时、天、周、月。
- 版本维度:代码版本、配置版本、镜像版本。
设计原则:维度应具备正交性与稳定性。正交性指维度之间不重复表达同一信息;稳定性指维度枚举值不会频繁变更,否则会导致水位口径断裂。
2.4 度量:测量什么
度量是直接采集或计算得到的数值指标。容量水位度量分为两类:
| 度量类型 | 说明 | 典型指标 |
|---|---|---|
| 资源度量 | 反映硬件或系统资源占用 | CPU 利用率、内存使用量、磁盘 IOPS、网络带宽 |
| 业务度量 | 反映业务请求或吞吐量 | QPS、TPS、并发连接数、请求延迟 |
| 饱和度度量 | 反映资源接近上限的程度 | 连接池使用率、队列深度、GC 暂停时间 |
2.5 聚合:合并计算的语义
聚合将多个数据点合并为单一值,不同聚合函数表达不同的水位语义。
-- 示例:同一集群下不同机器的 CPU 聚合
-- SUM:集群总 CPU 消耗(适合容量规划)
SELECT SUM(cpu_usage_percent) FROM host_metrics WHERE cluster = 'prod-a'
-- AVG:集群平均 CPU 水位(适合负载均衡评估)
SELECT AVG(cpu_usage_percent) FROM host_metrics WHERE cluster = 'prod-a'
-- MAX:集群峰值 CPU 水位(适合瓶颈识别)
SELECT MAX(cpu_usage_percent) FROM host_metrics WHERE cluster = 'prod-a'
-- P99:集群高水位线(适合 SLO 监控)
SELECT PERCENTILE(cpu_usage_percent, 0.99) FROM host_metrics WHERE cluster = 'prod-a'
常见误区:将 AVG 聚合直接当作容量水位。平均水位会掩盖热点,导致容量评估偏乐观。建议同时保留 MAX 或 P99 聚合作为高水位参考。
2.6 校准:消除偏差,提升可信度
校准是对聚合后的度量进行系统性修正,以消除采集偏差、环境差异或统计噪声。校准操作包括:
- 归一化:将不同规格机器的指标映射到统一基准(如将 128G 内存与 64G 内存的使用率对齐到百分比)。
- 基线对齐:减去业务低峰期的基准值,突出增量变化。
- 异常剔除:过滤因部署、故障、压测产生的瞬时毛刺。
- 系数调整:根据预留 buffer 或业务权重对水位进行缩放。
下图展示校准前后的水位对比效果:
2.7 四者关系总结
维度、度量、聚合、校准并非独立存在,而是构成一个完整的语义链条:
- 维度定义数据切片的坐标系。
- 度量定义坐标系中每个点的数值含义。
- 聚合定义如何将多点数值合并为单一水位。
- 校准定义如何修正聚合结果中的系统偏差。
一句话总结:维度 × 度量 × 聚合 × 校准 = 可信容量水位。任何一个环节缺失或定义不清,都会导致水位口径不可复现、不可解释。