延迟事件类别是什么
LATENCY 记录的是「某类操作耗时异常」的事件,按类别分组:命令执行、fork、过期清理、淘汰清理、AOF 落盘等。每类事件保存最近一次的时间、本次耗时与历史最大值,还能按类别查时间序列。先看哪一类在涨,才能决定去查命令、持久化还是内存。
基本信息
| 查看 | LATENCY LATEST 列出各类事件的最新值与历史最大值 |
|---|---|
| 时序 | LATENCY HISTORY <事件> 看该类事件随时间的变化 |
| 重置 | LATENCY RESET 清空事件统计 |
| 单位 | 事件耗时以毫秒记录 |
| 前提 | 只有被触发过的类别才会出现在结果里 |
常见事件类别与方向
| 事件 | 通常根因方向 | 下一步动作 |
|---|---|---|
| command | 慢命令、大键、复杂操作 | 查 SLOWLOG 与命令形状 |
| fork | 持久化 fork 与写时复制开销 | 查内存规模与持久化配置 |
| expire-cycle | 大量键集中过期 | 查 TTL 分布与是否加抖动 |
| eviction-cycle | 内存超限频繁淘汰 | 查内存水位与淘汰策略 |
| aof-write 与 aof-fsync-always | AOF 落盘与刷盘策略 | 查磁盘性能与 appendfsync 设置 |
取证命令
取证命令
redis-cli LATENCY LATEST # 每类事件的最新值与历史最大值
redis-cli LATENCY HISTORY command # 某类事件的时间序列
redis-cli LATENCY RESET # 清空事件统计,重新观察
redis-cli INFO persistence | grep -E 'rdb_last_bgsave_status|aof_last_write_status'
redis-cli SLOWLOG GET 5 # 对应 command 类事件的具体命令典型使用场景
- 延迟尖刺分类:先确认是命令层还是后台任务层
- 后台任务影响评估:fork 与持久化类事件上涨时评估快照策略
- 落盘策略验证:AOF 相关事件提示刷盘方式与磁盘性能不匹配
- 内存类取证:淘汰与过期事件指向容量与 TTL 设计问题
- 与慢日志对照:命令类事件配合 SLOWLOG 看具体命令
事件类别与版本有关,不同版本可能新增或调整类别;先看本实例 LATENCY LATEST 的实际输出,再对照排查清单。
LATENCY RESET 会清掉历史最大值,之前积累的峰值证据不可恢复;重置前先把当前输出记录下来。