首页/数据/Redis 进阶速查/延迟跟踪配置:latency-tracking
性能与排障129 条

延迟跟踪配置:latency-tracking

latency-tracking(默认 yes)开启命令延迟跟踪,latency-tracking-info-percentiles 定义 latencystats 使用的百分位列表(如 50 99 99.9)。

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

延迟跟踪的两个配置项

latency-tracking 决定 Redis 是否按命令记录延迟分布,默认开启;latency-tracking-info-percentiles 决定 INFO latencystats 输出哪些百分位,默认 50 99 99.9。两者合起来构成命令级尾部延迟的观测口径:命令级的 p99 比全局平均值更能说明用户体验。关掉跟踪能省下少量统计开销,代价是同时失去 latencystats 的数据,以及部分依赖该数据源的诊断面板。

基本信息

开关项latency-tracking
默认值yes(开启)
百分位项latency-tracking-info-percentiles
默认百分位50 99 99.9
数据出口INFO latencystats
单位微秒
修改方式CONFIG SET 即时生效,重启后回配置文件

典型使用场景

  • 搭建命令级延迟看板,需要确定采集哪些百分位
  • 排查长尾延迟,按 p99 排序找出最差的几个命令
  • 抓包或开关诊断功能期间临时降低统计开销
  • 临时试验新百分位口径,用 CONFIG SET 快速验证再写进配置
  • 核对监控数据缺失原因,确认是否有人关过跟踪
  • 为不同业务实例设置不同百分位口径,兼顾精度与开销
  • 升级或迁移后对比新旧实例的命令级分布,确认性能未退化
  • 为容量评估提供命令级尾部数据,作为扩容决策的输入

查看与调整

查看与调整
redis-cli CONFIG GET latency-tracking                    # 是否开启跟踪
redis-cli CONFIG GET latency-tracking-info-percentiles   # 当前百分位口径
redis-cli INFO latencystats                              # 按命令看百分位
redis-cli CONFIG SET latency-tracking-info-percentiles "50 99 99.9"
redis-cli CONFIG SET latency-tracking no                 # 临时关闭,诊断完恢复
redis-cli CONFIG SET latency-tracking yes                # 恢复默认口径

百分位选择

百分位反映的问题适用场景
p50常态体验日常趋势与容量基线
p99尾部体验SLA 与告警主力
p99.9极端情况容量规划与热点定位
百分位不是越多越好:口径越细,统计窗口内样本被摊薄,短周期抖动更难被观察到。
百分位配置改动后,历史曲线与当前曲线的口径将不可直接比较,报表要标注变更时间点。
用 CONFIG SET 关闭跟踪只是运行期生效,若配置文件里仍是关闭状态,重启后会继续失去数据,收尾时别忘记改回。
延迟跟踪与慢日志的分工不同:慢日志给的是超阈值的样本明细,latencystats 给的是所有命令的分布,两者相互印证。

易错点

  • 百分位配置与观测目标不匹配,报表口径与业务 SLA 对不上
  • 关闭跟踪后旧报表字段为空,被误判为采集链路故障
  • 只调百分位不看样本量,短窗口下尾部指标剧烈跳动
  • 运行时改完没写回配置文件,重启后参数回退造成数据断档
  • 把 latencystats 当成全局指标,忽略它需要按命令逐条比对才有意义

数据来源与参考

  • Redis 官方文档:延迟跟踪配置
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌