Redis之延迟监控

延迟监控

  • 参考官方文档
https://redis.io/topics/latency-monitor
  • 启用 redis 延迟监控
CONFIG SET latency-monitor-threshold 100

单位:毫秒,100表示一百毫秒。如果将 latency-monitor-threshold 的值设置为 0,则表示关闭延迟监控。

  • 子命令

1)LATENCY LATEST

返回所有事件的最新延迟样本

2)LATENCY HISTORY event

返回最多160条的给定 event 的延迟时间序列(延迟发生时的时间戳和延迟毫秒数)

3)LATENCY RESET event

重置一个或多个 events 的延迟时间序列数据为零,如果不指定参数 event,则表示重置所有的 events。

4)LATENCY GRAPH event

以文本图表方式展示

5)LATENCY DOCTOR

回复人类可读的延迟分析报告

6)LATENCY HELP

查看使用帮助

  • 支持的事件(events)
命令名(被监控对象)命令说明
command常规命令
fast-command时间复杂度为“O(1)”和“O(log N)”的快命令
fork系统调用 fork
aof-stat系统调用 stat
aof-write系统调用 write
aof-rename系统调用 rename
aof-fsync-always设置“appendfsync allways”时的系统调用 fsync
aof-write-active-child子进程执行的系统调用 fsync
rdb-unlink-temp-file系统调用 unlink
active-defrag-cycle主动碎片整理周期
aof-rewrite-diff-write
aof-write-alone主进程执行的 fsync 系统调用
aof-write-pending-fsync
expire-cycle过期周期
eviction-cycle淘汰周期
eviction-del
  • redis-cli 对延迟监控的支持

与延迟监控有关的参数:

参数名参数说明
–latency以文本方式显示持续采样服务器延迟时间
–latency-dist以 256 色的频谱方式显示,如果和参数“–latency”同时使用,则被忽略
–latency-history持续采集并每隔一段时间(默认15秒,可参数“-i”设置其它值)输出一个记录

采样的原理是向目标 redis-server 发向 PING 命令来获得延迟时间。

慢日志查询

1)启用慢日志

CONFIG SET slowlog-log-slower-than 100

单位:微秒(注意不是毫秒),100表示一百微秒,表示执行时长超过100微秒的命令才会被记录下来。如果值为负数则表示关闭记录慢日志,如果值为0表示记录所有命令的慢日志。

记录慢日志不会有文件操作,所以对性能影响非常小,因此可考虑记录所有命令(将 slowlog-log-slower-than 值设置为 0 即可)。

2)设置记录的慢日志数量

CONFIG SET slowlog-max-len 10

上述表示记录最近 10 条慢日志。

3)查询慢日志

SLOWLOG GET

不带参数返回所有的(配置 slowlog-max-len 决定)慢日志,可指定参数只返回最新的 N 条慢日志,如最新的 10 条:

SLOWLOG GET 10

4)查询当前慢日志条数

SLOWLOG LEN
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值