首页/数据/Redis 进阶速查/redis-cli --intrinsic-latency 系统基线
性能与排障129 条

redis-cli --intrinsic-latency 系统基线

redis-cli --intrinsic-latency seconds 测量机器调度与内核本身的固有延迟(不涉及网络),作为延迟分析的系统基线。

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

--intrinsic-latency 是什么

redis-cli --intrinsic-latency 秒数 测量的是机器本身的固有延迟:它在紧密循环里反复读时钟,统计两次读取之间最长被中断了多久,全程不连 Redis、不涉及网络。它回答的是「这台机器最好能做到多稳」,是延迟排查的第一块基线——基线差,后面无论怎么优化命令都事倍功半。

基本信息

命令redis-cli --intrinsic-latency <秒数>
测量对象本机调度与内核固有延迟,不含网络与 Redis
前提机器应处于空闲状态
输出累计次数、平均每次循环耗时与最大延迟
时长建议跑得越久越容易抓到尖峰,生产基线常用 100 秒左右
配套命令redis-cli --latency、--latency-history

典型使用场景

  • 新机器验收:确认交付的宿主本身能撑住低延迟服务
  • 排查「Redis 变慢」:先测基线,把机器与虚拟化问题排除掉
  • 选型对比:同一规格在不同宿主上跑一遍,择优部署
  • 内核调优验证:关闭节能降频、调整调度策略后复测
  • 与端到端延迟对照:区分是机器慢、网络慢还是命令慢

最小示例

最小示例
uptime                                     # 先确认机器确实空闲
redis-cli --intrinsic-latency 10            # 快速估一遍
taskset -c 2 redis-cli --intrinsic-latency 60   # 绑定到指定核,减少跨核抖动
redis-cli --latency-history -i 5            # 与端到端延迟对照
redis-cli --latency -h 目标主机              # 从客户端侧测网络往返

结果怎么读

观察含义下一步
最大延迟几十微秒级空闲物理机的常见水平机器侧没问题,转向网络与命令层
出现毫秒级尖峰调度或虚拟化层面有抖动查超卖、节能降频、swap、同宿主邻居
平均稳定但偶发高峰存在间歇性抢占结合时间点找干扰源,必要时隔离 CPU
去掉其他负载后仍很差宿主规格或虚拟化本身不适合换实例规格或类型再验
它不连接 Redis,所以结论只关于机器。要和 --latency / --latency-history 的端到端结果对照,才能判断瓶颈在机器、网络还是命令执行。
单个进程只压一个核,多核机器上要评估整机应并行跑多份并分散到不同核,取各核中最差的结果作为基线。
机器上有业务负载时测出的结果混入了别人的开销,不能当基线;同样也不要据此直接下结论说 Redis 慢。

易错点

  • 在忙的机器上测:结果里全是其他负载的影响,无法作为基线使用
  • 只看平均值不看最大延迟:平均值好看而尾延迟高,恰好是低延迟场景最致命的情况
  • 只测一个核就下结论:其他核可能被干扰,多核机器要分开评估
  • 把基线当成 Redis 的实际延迟:基线只是机器下限,端到端还要叠加网络与命令执行
  • 测试时忘关节能降频或中断聚合:基线被拉高,后续会按错误前提去调优

数据来源与参考

  • Redis 官方文档:intrinsic latency 测试
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌