当前位置 > it书童 > redis > 正文
推荐小册
java高效编程
怎样更高效地用 java 编程

juc并发工具库
java并发编程工具库

设计模式
设计模式

jvm调优
jvm调优

rabbitmq实战
rabbitmq实战

redis实战
redis实战

Keepavlied高可用集群
Keepavlied高可用集群

nginx入门到实战
nginx入门到实战

java调试
java调试中遇到的各种坑

java输入输出流
java输入输出流

redis 慢查询分析

redis it书童 2019-10-04 17:30:49 0赞 0踩 745阅读 0评论

熟悉mysql的同学都知道mysql可以通过分析慢查询日志查看哪些语句时间耗时过长,从而进行优化。redis也提供了慢查询分析。

慢查询日志:系统在命令执行前后计算命令的执行时间,当超过预设的时间阀值,就将这条命令的相关信息记录下来

配置参数

对于慢查询功能,要明确知道:

  • 预设运行时间阀值怎么设置

  • 慢查询记录存放在哪

预设时间阀值是用showlog-log-slower-than进行配置,单位是微秒,(1秒=1000毫秒=1000000微秒), 默认值是10000

slowlog-log-slower-than设置值解析:

  • = 10000: 若执行的命令时间超过了10000微秒,就会被记录到慢查询日志中。

  • = 0: 记录所有的命令

  • < 0: 不会记录任何命令

慢查询日志是记录在一个列表中,这个列表的存储长度是有限制的,由slowlog-max-len设置,当慢查询日志列表处于最大长度时,最早插入的一个命令将从列表中移出

将slowlog-max-len设置为10,当有第11条慢查询播放时,队头的第一条数据就会被踢出列

redis修改配置的方式

  • 修改配置文件

  • 使用config set命令动态修改,如果要将配置持久化到本地配置文件,需要再执行 config rewrite 命令

$ cat /etc/redis.conf | grep slowlog-log-slower-than
slowlog-log-slower-than 10000
$ cat /etc/redis.conf | grep slowlog-max-len
slowlog-max-len 128
127.0.0.1:6379> config set slowlog-log-slower-than 20000
OK
127.0.0.1:6379> config set slowlog-max-len 1000
OK

获取慢查询日志

关于我
一个文科出身的程序员,追求做个有趣的人,传播有价值的知识,微信公众号主要分享读书思考心得,不会有代码类文章,非程序员的同学请放心订阅
转载须注明出处:https://www.itshutong.com/articles/193/redis-slow-query-analysis