*Redis LATENCY-DOCTOR 命令

LATENCY-DOCTOR 是 Redis 延迟监控的诊断工具,输出延迟问题的诊断报告和建议。


*语法

LATENCY DOCTOR

*参数说明

无参数。


*返回值

  • String:延迟诊断报告

*时间复杂度

O(1)

*

*示例

> LATENCY DOCTOR
"Dave, I have observed some latency spikes in the system:\n\n1.  slowlog: 5 spikes (average 15ms, worst 100ms)\n    ...\n"

*常见错误

错误 原因 解决
ERR unknown command 'latency' 延迟监控未开启或 Redis 版本不支持 确认 Redis 版本 ≥ 2.8.13,并设置 latency-monitor-threshold
(empty) 或空报告 统计样本不足,延迟事件未触发 等待运行一段时间后再执行,或降低阈值以捕获更多事件
报告内容不准确 阈值设置过高导致漏报 适当降低 latency-monitor-threshold 的值

*最佳实践

  • 延迟问题排查时首先运行
  • 结合 LATENCY HISTORY 和 LATENCY GRAPH 深入分析
  • 生产环境建议开启延迟监控
  • 将延迟阈值纳入监控告警体系,当 LATENCY DOCTOR 报告异常时自动触发告警
  • 定期运行 LATENCY DOCTOR 并将报告保存到日志系统,用于长期趋势分析

*FAQ

Q1: 需要开启延迟监控吗? A: 建议开启,通过 CONFIG SET latency-monitor-threshold 100 设置阈值。

Q2: 报告可信吗? A: 基于内部统计,提供初步诊断方向。

Q3: 和 SLOWLOG 有什么区别? A: LATENCY DOCTOR 关注系统级延迟;SLOWLOG 记录慢命令。

Q4: 延迟阈值设置多少合适? A: 生产环境建议设置为 100ms 或 50ms,具体取决于业务对延迟的敏感度。延迟要求高的系统可设为 10ms。

Q5: 延迟诊断报告无法生成怎么办? A: 检查延迟监控是否开启,确认 latency-monitor-threshold 配置项已设置,并且实例运行时间足够长以积累统计数据。