redis 慢查询 相关命令

Redis 命令redis

redis-server网络

redis-cli  -h  127.0.0.1  -p 6379    -a    password命令行

 

query在线分析 线程

redis-cli MONITOR | head -n 5000 | ./redis-faina.py   日志

监控正在请求执行的命令server

在cli下执行monitor,生产环境慎用。ip

 

 

获取慢查询get

SLOWLOG GET 10
结果为查询ID、发生时间、运行时长和原命令 默认10毫秒,默认只保留最后的128条。单线程的模型下,一个请求占掉10毫秒是件大事情,注意设置和显示的单位为微秒,注意这个时间是不包含网络延迟的。
slowlog get 获取慢查询日志
slowlog len 获取慢查询日志条数
slowlog reset 清空慢查询 it

 

配置监控

config set slowlog-log-slower-than 100   (单位微秒默认10000)

config set slowlog-max-len 1024    日志最多存个数(默认128)

config rewrite    慢查询日志重置

慢查询分析配置
关于 Redis 慢查询的配置有两个,分别是 slowlog-log-slower-than 和 slowlog-max-len。 
1.slowlog-log-slower-than,用来控制慢查询的阈值,全部执行时间超过该值的命令都会被记录下来。该值的单位为微秒,默认值为 10000,若是设置为 0,那么全部的记录都会被记录下来,若是设置为小于 0 的值,那么对于任何命令都不会记录,即关闭了慢查询。能够经过在配置文件中设置,或者用 config set 命令来设置:

config set slowlog-log-slower-than 10000
2.slowlog-max-len,用来设置存储慢查询记录列表的大小,默认值为 128,当该列表满了时,若是有新的记录进来,那么 Redis 会把队最旧的记录清理掉,而后存储新的记录。在生产环境咱们能够适当调大,好比调成 1000,这样就能够缓冲更多的记录,方便故障的排查。配置方法和 slowlog-log-slower-than 相似,能够在配置文件中指定,也能够在命令行执行 config set 来设置:

config set slowlog-max-len 1000
查看慢查询日志
尽管 Redis 把慢查询日志记录到了内部的列表,但咱们不能直接操做该列表,Redis 专门提供了一组命令来查询慢查询日志: 
1. 获取慢查询日志: 
slowlog get [n] 
下面操做返回当前 Redis 的全部慢查询记录,能够经过参数 n 指定查看条数:

127.0.0.1:6379> slowlog get
 1) 1) (integer) 456
    2) (integer) 1531632044
    3) (integer) 3
    4) 1) "get"
       2) "m"
    5) "127.0.0.1:50106"
    6) ""
 2) 1) (integer) 455
    2) (integer) 1531632037
    3) (integer) 14
    4) 1) "keys"
       2) "*"
    5) "127.0.0.1:50106"
    6) ""

结果说明: 
1) 慢查询记录 id; 
2) 发起命令的时间戳; 
3) 命令耗时,单位为微秒; 
4) 该条记录的命令及参数; 
5) 客户端网络套接字(ip: port); 
6) “”

 

3.慢查询日志重置 
slowlog reset 
其实是对慢查询列表作清理操做:

127.0.0.1:6379> slowlog len (integer) 461 127.0.0.1:6379> slowlog reset OK 127.0.0.1:6379> slowlog len (integer) 1  

相关文章
相关标签/搜索