redis slowlog

举报
lxw1844912514 发表于 2022/03/27 02:44:59 2022/03/27
【摘要】 slowlog (阅读原文) 此命令用于读取和重置redis慢请求日志 redis slow log概述 redis的slow log记录了那些执行时间超过规定时长的请求。执行时间不包括I/O操作(比如与客户端进行网络通信等),只是命令的实际执行时间(期间线程会被阻塞,无法服务于其它请求)。 有两个参数用于...

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"
     
    
    

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

获取当前slowlog长度

slowlog len

重置slowlog

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

文章来源: blog.csdn.net,作者:lxw1844912514,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/lxw1844912514/article/details/100027422

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。