LATENCY LATEST、HISTORY、GRAPH、RESET 是延迟监控的四个基础命令。这篇不看报告,只看数据:每个命令返回什么结构、采样的粒度是多大、RESET 之后剩什么、阈值边界在哪。
1) 1) "command" 2) (integer) 1790706093 3) (integer) 11 4) (integer) 100 2) 1) "aof-fsync-always" 2) (integer) 1790706090 3) (integer) 9 4) (integer) 9
每个事件类型一行,四个字段。第一次出现的 command 事件最近一次 11 ms、历史最大 100 ms。
1) 1) (integer) 1790706091 2) (integer) 100 2) 1) (integer) 1790706093 2) (integer) 11
返回该事件最近的采样点。我在同一秒内连续制造了 DEBUG SLEEP(30/60/90 ms)和 KEYS *,只得到一个 100 ms 的采样点,另一个 11 ms 的点来自稍晚的另一秒。
command - high 100 ms, low 11 ms (all time high 100 ms) -------------------------------------------------------------------------------- # | | |_ 53 ss
标题里的 high、low 是当前保留的采样中的最大、最小值,括号里是历史最大;下面是竖条,最下面的数字是每一列距今的时间。
> LATENCY RESET (integer) 2 > LATENCY LATEST (empty array)
返回被清除的事件数(2:command 与 aof-fsync-always),清完之后 LATEST 为空。
阈值 100 ms,DEBUG SLEEP 0.05 之后 LATENCY LATEST = []
再 DEBUG SLEEP 0.15 之后 LATENCY LATEST = [('command', 151)]阈值 100 ms 时 50 ms 的阻塞不记录,150 ms 的记录为 151 ms。