首页/数据/Redis 进阶速查/INFO latencystats 命令延迟百分位
性能与排障129 条

INFO latencystats 命令延迟百分位

INFO latencystats 提供命令级延迟百分位(p50/p99/p999),比平均耗时更能反映尾部体验;依赖延迟跟踪开启。

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

命令级延迟百分位

INFO latencystats 给出每个命令的延迟百分位,比平均耗时更能反映尾部体验:某个命令的平均值可能很小,但 p99 已经很高,而用户感知到的正是这部分请求。它依赖延迟跟踪(latency-tracking,默认开启),输出的百分位口径由 latency-tracking-info-percentiles 决定,默认是 50、99、99.9。字段名形如 latency_percentiles_usec_ 加命令名,单位是微秒。命令数量多时先按最差百分位排序,再逐条看细节。

基本信息

命令INFO latencystats
前置条件latency-tracking 开启(默认)
百分位来源latency-tracking-info-percentiles
默认口径50 99 99.9
字段形式latency_percentiles_usec_<命令名>
单位微秒
配套数据INFO commandstats 的调用次数与平均耗时

典型使用场景

  • 按 p99 排序找出最拖后腿的几个命令,排定治理顺序
  • 验证某次优化是否真正改善了尾部延迟,而不是只改善平均值
  • 按命令维度做容量评估,判断哪类请求最先到瓶颈
  • 对比两个版本或两套部署的命令级分布差异
  • 排查业务侧超时,确认是否由少数命令的长尾造成
  • 为延迟告警选阈值时,先用百分位数据建立基线
  • 定位大键操作:某类命令的 p99 明显高于同类其他调用
  • 为治理排期提供量化依据,用数据说明优化收益

查看与对比

查看与对比
redis-cli INFO latencystats              # 命令级百分位(微秒)
redis-cli CONFIG GET latency-tracking     # 确认跟踪是否开启
redis-cli CONFIG GET latency-tracking-info-percentiles
redis-cli INFO commandstats               # 调用次数与平均耗时
redis-cli SLOWLOG GET 10                  # 慢命令样本,交叉验证
redis-cli INFO cpu                        # 排除单核打满造成的普涨

指标分工对照

指标看什么局限
平均耗时整体水平长尾被平均掉
p99尾部体验极端情况看不到
p99.9极端情况样本少时跳动大
调用次数影响面大小不含耗时信息
命令很多时先过滤再排序,把注意力放在调用量大且尾部延迟高的命令上。
百分位数据与慢日志相互印证:慢日志给样本明细,百分位给全局分布,两者结论不一致时优先核对时间窗口。
数据是累计口径,做优化前后对比时要么固定采集窗口,要么用 CONFIG RESETSTAT 重置统计,否则新旧数据混在一起。

易错点

  • 只看全局平均延迟,长尾问题的证据被抹平
  • 命令数量很多时不做过滤,报表被淹没找不到重点
  • 百分位口径被改动后直接与历史曲线比较,得出错误结论
  • 把 latencystats 当实时指标做秒级告警,短窗口下抖动剧烈
  • 忽略调用次数的权重,把低频慢命令的优先级排在高频命令前面

数据来源与参考

  • Redis 官方文档:latencystats 指标
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌