首页/数据/Redis 进阶速查/复制偏移量与延迟判断
主从与哨兵51 条

复制偏移量与延迟判断

主库 master_repl_offset 与从库 slave_repl_offset 的差值反映复制落后字节数;差值稳定在较小范围说明同步健康。

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

复制偏移量与延迟判断

复制偏移量是主从同步的进度坐标:主库每向从库传播一段写命令,就把 master_repl_offset 增加对应的字节数;从库接收并应用后更新自己的 slave_repl_offset。两者之差近似表示「还有多少复制流没有被从库处理」,是判断延迟最常用的指标。需要注意偏移量是字节位置而不是命令条数,一次大 key 写入就可能让数字跳很大一截,所以差值必须结合写入速率一起看,主库视角自带的 lag 秒数字段更适合直接做成告警阈值。

基本信息

主库字段master_repl_offset,表示复制流当前写入位置
主库看从库INFO replication 中每个从库一行,带 offset 与 lag(秒)
从库字段slave_repl_offset 与 master_link_status(up/down)
链路断开master_link_down_since_seconds 给出已断开时长
全量同步中master_sync_in_progress 为 1,此时数据尚未可用
写入位置相关字段在 INFO replication 段落,不在 persistence 段落

典型使用场景

  • 日常监控:主库侧采集每个从库的 offset 与 lag,作为复制健康的核心指标
  • 故障排查:业务读到旧数据时先确认是链路断开还是只是暂时落后
  • 扩容评估:新增从库做全量同步时观察主库开销与同步耗时,安排低峰执行
  • 切换前检查:计划内切换前确认目标从库已经追平,避免提升后缺数据
  • 压测验证:写入陡增时观察差值回升速度,判断从库能否跟上

查看与对比

查看与对比
redis-cli -h 10.0.0.11 -p 6379 INFO replication | grep -E 'role:master|master_repl_offset'
redis-cli -h 10.0.0.11 -p 6379 INFO replication | grep 'slave0:'      # 从库地址、状态、offset 与 lag
redis-cli -h 10.0.0.12 -p 6379 INFO replication | grep -E 'role:slave|slave_repl_offset|master_link_status|master_last_io_seconds_ago'
redis-cli -h 10.0.0.12 -p 6379 INFO replication | grep master_sync_in_progress   # 1 表示正在全量同步

复制状态解读

现象含义建议动作
主库 offset 稳定上涨,从库紧随其后同步正常,差值在正常波动范围保持监控,记录基线与告警阈值
差值短暂拉大后回落写入尖峰导致的临时落后确认能自动追平即可,无需干预
差值持续扩大且链路为 up从库处理能力不足,网络带宽或磁盘受限查从库负载、网络与从库上的慢命令
master_link_status 为 down链路断开,从库数据停止更新先查网络与进程,长期断开需重建复制
master_sync_in_progress 为 1正在做全量同步等待完成,期间不要挂读流量
主库侧 lag 持续高于阈值从库应用落后结合差值判断是网络延迟还是从库自身慢
偏移量只反映「复制流处理到哪」,不等于业务数据一定一致:复制是异步的,从库上刚写完就读可能读到旧值。确实需要确认数据已落到多少个从库时,用 WAIT 副本数 超时毫秒 让主库阻塞等待确认,再决定后续逻辑。
链路断开后从库的 offset 不再变化,只看「主从差值」会误判为没有延迟。必须为 master_link_status 与「offset 多久没有推进」单独设置告警,否则从库可以静默停在几小时前的数据上。

易错点

  • 只比较偏移量的绝对差值不看写入速率:低写入时落后几十 KB 可能已经延迟几十分钟,高写入时落后几十 MB 也许只有一秒
  • 把主库持续增长的 master_repl_offset 当成积压量来告警,导致阈值永远被触发,真正的延迟反而被淹没
  • 用从库承担强一致读,读到过期数据;关键读取应回主库,或先用 WAIT 确认复制落点
  • 把正在全量同步的从库挂上读流量,同步期间数据不完整,会出现读到空库或部分数据的现象
  • 只监控从库自身指标,忽略主库视角的 lag 与从库列表,从库被移出拓扑(如被切走或重建)时无法及时感知

数据来源与参考

  • Redis 官方文档:INFO replication 字段说明
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌