一. slow log慢查询日志
slowlog是 Redis 用来记录查询执行时间的日志系统。
slowlog-log-slower-than设置慢操作的阈值,单位是微妙,默认是10000微妙,也就是10ms
slowlog-max-len设置保存个数
127.0.0.1:6379> config set slowlog-log-slower-than 500
基本语法 SLOWLOG subcommand [argument]
查看日志信息:slowlog get [数量]
输出的四列的含义分别是:记录的自增ID、命令执行时的时间戳、命令的执行耗时(ms)、命令的内容,只包括命令的执行时间
查看当前日志的数量:slowlog len
清空 slow log:SLOWLOG RESET
二. Redis延迟监控框架
Redis延迟监控框架
记录执行时间大于或等于预定时间(毫秒)的操作,这个预定时间是通过latency-monitor-threshold配置来指定的,当设置为0时,这个监控系统处于停止状态
启动延时监控框架:CONFIG SET latency-monitor-threshold 100
查看最新的延时事件:
latency latest
127.0.0.1:6319> latency latest
1) 1) "command" #event name
2) (integer) 1480865648 #发生时间
3) (integer) 207 #耗时,毫秒
4) (integer) 239 #从redis启动或上次latency reset以来,这种事件的最大延时记录
查看延时事件的历史信息:LATENCY HISTORY event-name
对于给定事件,命令将返回最多160个元素。 应用程序可能想要获取原始数据以便执行监视,显示图形等。
127.0.0.1:6319> latency history command
1) 1) (integer) 1480865710
2) (integer) 207
2) 1) (integer) 1480865711
2) (integer) 217
3) 1) (integer) 1480865712
2) (integer) 198
统计数据归零:
LATENCY RESET [event-name ... event-name]
以文本图表形式展示延时事件:
LATENCY GRAPH event-name
三. latency监控器Redis服务器的延迟
基本的延迟检查工具是 --latency 选项。 可检测网络延迟,使用此选项,CLI运行一个循环,将PING命令发送到Redis实例,并测量获得答复的时间。这种情况每秒发生100次,统计信息在控制台中实时更新:
–latency 持续采样服务器延迟时间,–latency-history则是持续采集并每隔一段时间(15秒)输出一个记录。
min:采样最小值,milliseconds
max:最大值
avg:平均值
samples:非零采样数
period:采样时间,secondes
-i 使用时,设置命令执行间隔时间(单位秒,可以使用小数)