5.5 慢查询实战分析

5.5.1 慢查询相关的配置参数

  • slowlog-log-slower-than:单位为微秒.超过该参数指定时长的查询会记录到日志中

  • slowlog-max-len:在慢查询日志中可以记录的日志条数.当慢查询日志的数量已经到达该参数时,每有一条新的慢查询日志写入,就会有最老的一条日志被删除

例:设置慢查询的时长和慢查询日志的条数

127.0.0.1:6379> CONFIG SET slowlog-log-slower-than 1
OK
127.0.0.1:6379> CONFIG SET slowlog-max-len 100
OK
127.0.0.1:6379> CONFIG REWRITE
OK

此时配置文件内容如下:

# Generated by CONFIG REWRITE
slowlog-max-len 100
slowlog-log-slower-than 1
save 3600 1
save 300 100
save 60 10000
user default on nopass ~* &* +@all
dir "/redis-6.2.13"

5.5.2 用SLOWLOG GET命令观察慢查询

  • SLOWLOG GET:返回所有的慢查询日志

我们以GET name命令的慢查询日志为例:

  • 1) (integer) 4:表示慢查询日志ID

  • 2) (integer) 1692022815:命令运行时的时间戳

  • 3) (integer) 3:命令运行的时长.单位为微秒

  • 4) 1) "GET" 2) "name":一个数组.其中第一个元素是执行的命令,后续的元素是命令的参数

  • 5) "127.0.0.1:57267":客户端地址和端口

  • 6) "":客户端名称

5.5.3 慢查询相关命令

  • SLOWLOG GET n:查看指定最新的n条慢查询日志

  • SLOWLOG LEN:获取慢查询日志的长度

  • SLOWLOG RESET:清空慢查询日志

注:此处有1条慢查询日志是因为慢查询阈值设置的太低,导致SLOWLOG LEN也成为了慢查询

Last updated