首页/数据/NoSQL 速查/序列基数与内存控制

序列基数与内存控制

序列基数 = measurement 与全部标签组合的唯一数量;每个序列都要维护索引与内存结构,基数失控是时序库最常见的性能故障源。

NoSQL 速查数据更新于 2026-10-12
基数来源标签键数量 × 每个键的取值数量,组合爆炸
危险信号写入变慢、内存持续增长、查询超时、日志出现 too many series
控制手段移除无界标签、限制取值、采样写入、分桶/分表拆维度

示例

示例
# InfluxDB v1:查看序列基数(需要开启相关统计)
SHOW SERIES CARDINALITY
SHOW SERIES CARDINALITY FROM "cpu"

# InfluxDB 2.x:用 CLI 检查 bucket 相关统计
influx bucket list
设计阶段就把标签取值枚举化:区域、机型、状态这类可控维度适合当标签;用户 ID、URL、容器 ID 通常不适合。

易错点

  • 上线初基数千级没问题,运营半年后标签取值翻倍才暴露,容量评审要按增长算
  • 给标签做基数排名只能看到现状,排查要结合标签键的取值增长趋势

数据来源与参考

  • InfluxData Docs: Resolve high series cardinality
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌