计算机网络/计算机科学与应用/系统/运维/开发

Redis慢查询日志

慢查询日志帮助开发人员和运维人员定位系统存在的慢操作

慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阈值,就将这条命令的相关信息(例如 发生时间 耗时 命令的详细信息)记录下来。


Redis命令的生命周期

1、客户端发送命令

2、命令在redis中排队

3、Redis执行命令

4、Redis向客户端返回结果

注意:慢查询只统计步骤3的时间,所以没有慢查询不代表客户端没有超时问题。


慢查询两个参数配置

对于慢查询 需要明确:

预设阈值怎么设置?

慢查询记录存放在哪里?

Redis提供了  slowlog-log-slower-than 和 slowlog-max-len 配置来解决

Slowlog-log-slower-than 就是那个预设阈值  单位是微秒

(1秒=1000毫秒=1000000微秒) 默认值是10000  假如执行了一条 很慢的命令  例如 keys *  如果它的执行时间超过了10000微秒那么它将被记录在慢查询日志中。


注意:

Slowlog-log-slower-than =0 会记录所有的命令,slowlog-log-slower-than<0 对于任何命令都不会进行记录

实际上Redis使用了一个列表来存储慢查询日志, slowlog-max-len 就是列表最大长度。

一个新的命令满足慢查询条件时被插入到这个列表中,,当慢查询日志列表已处于其最大长度时,最早插入的一个命令将从列表中移除。


例如:slowlog-max-len 设置为5  当有第6条慢查询插入的话,那么第一条数据就会出列,第6条慢查询就会入列。

Redis中有2种修改配置方法

1.修改配置文件

2.使用config  set命令动态修改



redis 慢查询

好的生活就是不瞎想,做得多,要得少,常微笑,懂知足。

评论

^