Redis手记之慢查询(一)

Redis之慢查询日志

什么是慢查询日志?

和很多关系型数据库(例如:MySQL)一样, Redis 也提供了慢查询日志记录,Redis 会把命令执行时间超过 slowlog-log-slower-than 的都记录在 Reids 内部的一个列表(list)中,该列表的长度最大为 slowlog-max-len 。需要注意的是,慢查询记录的只是命令的执行时间,不包括网络传输和排队时间。

首先我们先回顾一下客户端请求的生命周期:

客户端生命周期图

注意:
慢查询发生在第三阶段(执行命令);
客户端超时不一定慢查询,但慢查询是客户端超时的一个可能因素;
redis的慢查询日志有什么用?日常在使用redis的时候为什么要用慢查询日志?
  1. 慢查询日志是为了记录执行时间超过给定时长的redis命令请求。
  2. 让使用者更好地监视和找出在业务中一些慢redis操作,找到更好的优化方法。
慢查询的特点:
是一个先进先出的队列
是一个固定长度列表
保存在内存
慢查询阈值:微秒;
slowlog - log - slower - than = 0,记录所有命令;
slowlog - log - slower - than < 0,不记录命令;
默认值:
默认列表长度是128;
默认时间阈值是10000微秒;
配置方式:

修改配置配置文件重启(线上环境不建议)

动态配置:
CONFIG  SET  slowlog-log-slower-than  num  --设置超过多少微妙的查询为慢查询
CONFIG  SET  slowlog-max-len  num  --设置存储慢查询记录列表的大小
慢查询命令:
slowlog get [n]  --获取慢查询队列条数
slowlog len  --获取慢查询队列条数
slowlog reset  --清空慢查询队列
运维经验:
slowlog -max -len 不要设置过大,默认10ms,通常设置1ms。
slowlog -log -slower -than 不要设置过小,通常设置1000左右。
理解客户端生命周期。
定期持久化慢查询。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值