码迷,mamicode.com
首页 > 其他好文 > 详细

Redis slowlog慢查询

时间:2018-03-08 23:02:59      阅读:455      评论:0      收藏:0      [点我收藏+]

标签:操作   改变   配置   pre   eset   slow   超过   ids   red   

slowlog (阅读原文) 
此命令用于读取和重置redis慢请求日志

redis slow log概述

redis的slow log记录了那些执行时间超过规定时长的请求。执行时间不包括I/O操作(比如与客户端进行网络通信等),只是命令的实际执行时间(期间线程会被阻塞,无法服务于其它请求)。 
有两个参数用于配置slow log: 
slowlog-log-slower-than:设定执行时间,单位是毫秒,执行时长超过该时间的命令将会被记入log。-1表示不记录slow log; 0强制记录所有命令。 
slowlog-max-len:slow log的长度。最小值为0。如果日志队列已超出最大长度,则最早的记录会被从队列中清除。 
可以通过编辑redis.conf文件配置以上两个参数。对运行中的redis, 可以通过config get, config set命令动态改变上述两个参数

读取slow log

slow log是记录在内存中的,所以即使你记录所有的命令(将slowlog-log-slower-than设为0),对性能的影响也很小。 
slowlog get: 列出所有slow log 
slowlog get N:列出最近N条slow log

输出格式

redis 127.0.0.1:6379> slowlog get 2
1) 1) (integer) 14
   2) (integer) 1309448221
   3) (integer) 15
   4) 1) "ping"
2) 1) (integer) 13
   2) (integer) 1309448128
   3) (integer) 30
   4) 1) "slowlog"
      2) "get"
      3) "100"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

每个条目由4个字段构成: 
1)用于表示该条slow log的唯一id 
2)以unix时间戳表示的日志记录时间 
3)命令执行时间,单位:微秒 
4) 执行的具体命令 
只有当reids重启后,id编号才会被重置。

获取当前slowlog长度

slowlog len

重置slowlog

可以使用slowlog reset重置slow log。日志一旦被删除,将无法恢复。

Redis slowlog慢查询

标签:操作   改变   配置   pre   eset   slow   超过   ids   red   

原文地址:https://www.cnblogs.com/liqing1009/p/8531109.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!