首页/数据/Redis 进阶速查/repl-timeout 与断连判定
主从与哨兵51 条

repl-timeout 与断连判定

repl-timeout(默认 60 秒)定义主从之间多久没有有效交互判定为断连;网络高延迟或批量同步时过小会误判断连并触发重同步。

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

多久算断连

repl-timeout 默认 60 秒,定义主从之间多久没有有效交互就被判定为断连。判定超时后会触发重连,必要时回退到全量同步。在跨机房高延迟链路上,或者从库正在做耗时操作(大量写盘、执行重写)时,过小的取值会造成误判,表现为反复全量同步、主库频繁 fork,业务侧则看到周期性延迟毛刺。

基本信息

默认值repl-timeout 60(秒)
触发后果重连,无法增量续传时退化为全量同步
相关参数复制心跳周期决定正常情况下的交互频率
观察字段master_link_status、sync_full、sync_partial_ok
调整方向高延迟或从库繁忙时适当放大

典型使用场景

  • 跨机房主从出现周期性全量同步,评估超时值是否偏小
  • 从库在做大量写盘时反复断连,需要区分是网络还是从库自身瓶颈
  • 排查主库周期性 fork 与延迟毛刺,定位到复制层面的抖动
  • 跨境或高延迟链路部署时按实测往返时间调整参数
  • 为复制健康度设计告警时,明确断连判定的依据

查看与调整

查看与调整
redis-cli CONFIG GET repl-timeout
redis-cli CONFIG SET repl-timeout 120        # 高延迟链路适当放大
redis-cli INFO replication | grep -E 'master_link_status|master_last_io_seconds_ago'
redis-cli INFO stats | grep -E 'sync_full|sync_partial_ok'   # 全量与增量同步次数
redis-cli CONFIG REWRITE                     # 写回配置文件

现象与处置

现象可能原因处置方向
全量同步次数持续增长网络抖动或超时值偏小先看链路质量,再考虑放大超时
断连时间点与从库重写重合从库自身 IO 繁忙导致响应迟滞调整从库重写策略或错峰
主库周期性延迟毛刺频繁全量同步带来的 fork 与传输减少同类事件后观察毛刺是否消失
链路状态长期为 down网络不通或端口被拦按网络故障排查,不要只调参数
放大超时的代价是故障发现变慢,主库真的挂掉时切换更晚,因此要配合链路状态告警一起使用,不能只靠超时值兜底。
参数调整前先看全量同步计数:如果它本来就很低,说明问题不在超时值,调参只是掩盖现象。

易错点

  • 直接放大超时而不查链路质量,网络持续抖动的问题被掩盖,切换延迟反而更长
  • 把从库自身 IO 繁忙导致的迟滞归因为网络超时,参数越调越大而问题照旧
  • 只改运行时配置不写回文件,重启后回到默认值,现象在重启后复现
  • 忽略复制心跳与超时的配合关系,参数之间相互冲突导致判定行为难以预测

数据来源与参考

  • Redis 官方文档:repl-timeout 配置说明
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌