首页/数据/Redis 进阶速查/指标采集频率的取舍
性能与排障129 条

指标采集频率的取舍

采集频率要平衡观测精度与开销:秒级适合压测与故障窗口,常态 10-60 秒足够;计数器用差分注意重启清零与回绕。

Redis 进阶速查数据更新于 2026-10-13

采集频率的取舍

采集频率决定了观测能看见什么:秒级粒度抓得住秒级抖动,但采集端、网络与时序库的写入成本随频率线性上升。常态下 10-60 秒足够看清趋势,压测与故障窗口再临时提到秒级。计数类指标要按两次采样的差值算速率,而差值逻辑必须处理实例重启导致的计数归零,否则会算出负速率或异常尖峰。

基本信息

常态频率10-60 秒,按实例规模与存储成本确定
故障窗口临时提到 1-5 秒,排查结束回落
数据来源INFO 的 stats、memory、clients、replication 等区块
计数处理取差值算速率,注意重启归零与主从切换重置
成本构成采集端 CPU、网络往返、时序库写入与保留周期

典型使用场景

  • 容量趋势:低频采集用于观察 used_memory 与键数的长周期走向
  • 故障取证:临时提频,把延迟尖峰对应到具体时间点
  • 压测观测:秒级采集配合压测轮次,看水位随并发变化
  • 告警定阈:先按常态频率跑一段时间,用真实分布定阈值
  • 成本控制:实例多时降单实例频率,关键实例保持高频

只采需要的字段

只采需要的字段
redis-cli INFO stats | grep -E 'instantaneous_ops_per_sec|keyspace_hits|keyspace_misses'  # 速率与命中
redis-cli INFO memory | grep -E 'used_memory_human|mem_fragmentation_ratio'  # 水位与碎片
redis-cli INFO clients | grep -E 'connected_clients|rejected_connections'    # 连接与拒绝
redis-cli INFO stats | grep total_commands_processed                          # 累计计数,差值算速率
redis-cli INFO stats | grep total_net_input_bytes                             # 带宽用量趋势

各区块看什么

区块关键字段频率建议
statstotal_commands_processed、keyspace_hits/misses30-60 秒,用差值算速率
memoryused_memory、mem_fragmentation_ratio30-60 秒,看趋势为主
clientsconnected_clients、rejected_connections10-30 秒,拒绝事件要及时看见
latencylatency_percentiles_usec 系列(需先开启监控)秒级,用于配合延迟排查
采集脚本要识别重启:累计计数从大数归零时按新基线重新起算。实例升级、主从切换同样会重置计数,识别不出来就会在每次发布后误报一轮。
秒级高频采集长期开启会给采集端和 Redis 自身都增加负担,INFO 本身也要占用主线程时间;排障窗口结束后把频率降回常态,别让它长期运行。

易错点

  • 差分逻辑不处理重启:计数归零被算成负增长或巨大尖峰,发布后告警必然误报一轮
  • 用瞬时值代替速率:instantaneous 系列本身是采样估算,判断真实负载应基于累计计数差值
  • 长期秒级采集不回收:成本随实例数线性放大,最终观测系统自己成为新的故障源
  • 把 INFO 当零成本接口:高频全量采集会消耗主线程时间,故障期间反而加剧延迟

数据来源与参考

  • Redis 官方实践:监控采集
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌