首页/数据/Redis 进阶速查/LATENCY DOCTOR:延迟体检报告
性能与排障129 条

LATENCY DOCTOR:延迟体检报告

LATENCY DOCTOR 汇总延迟事件并给出解读与操作建议,是把原始数据翻译成结论的快捷工具。

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

延迟体检报告

LATENCY DOCTOR 把已记录的延迟事件(command、fork、expire-cycle 等)汇总成人话,并给出成因判断与操作建议。前提是延迟监控已开启,也就是 latency-monitor-threshold 大于 0,否则事件集为空,输出会显得非常空泛。阈值本身也要合适:设得太低会把正常波动一并记进来,报告里全是无关事件,判断反而更费劲。它适合在用 LATENCY LATEST 看到事件之后作为第二站使用。

基本信息

命令LATENCY DOCTOR
输出可读性诊断文本与建议
定位延迟排查第二站,起点是 LATENCY LATEST
前提条件latency-monitor-threshold 已设置且大于 0
建议性质参考性建议,涉及持久化等可靠性权衡

典型使用场景

  • 快速定性:拿到一堆延迟事件后先了解大致成因
  • 工单交接:把可读结论直接贴进工单,减少解释成本
  • 变更核对:调整后重新执行,对比结论是否变化
  • 入门学习:理解各类延迟事件的成因分类
  • 交叉印证:与慢日志、系统层指标互相印证,避免单一结论
  • 阈值核对:latency-monitor-threshold 决定记录门槛,设得过低会记下大量无关事件
  • 影响面判断:结合 commandstats 看事件集中的命令是否正是业务主力

使用步骤

使用步骤
redis-cli CONFIG GET latency-monitor-threshold   # 先确认监控阈值已开启
redis-cli LATENCY LATEST                          # 看当前有哪些事件
redis-cli LATENCY DOCTOR                          # 生成诊断报告
redis-cli LATENCY HISTORY command                 # 需要细节时看单事件历史
redis-cli LATENCY RESET                           # 修复后重置基线

报告里的常见事件

事件含义常见成因
command命令执行耗时超过阈值大 key 操作、复杂命令、慢命令
fork创建子进程的耗时内存大、页表大、宿主资源竞争
expire-cycle过期清理周期超时集中过期、键数量大
eviction-cycle淘汰周期超时内存紧张、淘汰频繁
报告里的建议要结合业务确认:与持久化相关的建议涉及可靠性权衡,不能照着执行而不评估影响。
没开启延迟监控时输出会非常空泛,先确认阈值配置,否则容易误以为实例毫无问题。

易错点

  • 没开启延迟监控就直接使用:输出空泛,误判为没有延迟问题
  • 照着建议执行:持久化等建议涉及可靠性权衡,影响面要先评估
  • 把它当唯一证据:结论要与慢日志、系统指标互相印证
  • 改动后不重新执行:无从判断改善是否真的发生

数据来源与参考

  • Redis 官方文档:LATENCY DOCTOR 说明
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌