redis慢查询

redis客户端命令分为:
1发送命令
2命令排队
3命令执行
4返回结果

慢查询只统计命令执行的结果

##慢查询的两个配置参数

Redis提供了slowlog-log-slower-than和slowlog-max-len配置来解决
预设阀值 超时时间

slowlog-log-slower-than 设置超出的时间,单位为微秒,默认值为10000毫秒,执行的命令超过时间判定为慢查询

slowlog-log-slower-than=0 将记录所有命令

相对的slowlog-log-slower-than<0 对任何命令都不会记录

如何设置

1 配置文件

2config set

slowlog-log-slower-than=10000 此处10000为微秒数 config rewrite 配置持久化

预设阀值 最大条数

slowlog-max-len 说明了最多慢查询日志能存储多少条,但是如果上限了那么Redis将会怎么处理呢?这就涉及到了Redis的慢查询日志,Redis事实上使用了一个列表来存储慢查询日志,当日志到了最大条数时,在插入一条慢查询日志 redis会将最早插入的一个命令从列表中移除。

如何设置

1 配置文件

2config set

config set slowlog-max-len 1000  此处1000为条数
config rewrite  配置持久化

查看慢查询

获取慢查询日志

slowlog get [n] 此处n为返回的条数 不加返回所有

每一条慢日志查询都有四个属性

  • 标识的id
  • 发生的时间戳
  • 命令消耗的时间 (单位也为微秒)
  • 执行的命令和参数
获取慢日志的长度
slowlog len
慢日志的重置
slowlog reset

注意点

  • 线上建议调大慢查询列表:slowlog-max-len,记录慢查询时Redis会对长命令做阶段,并不会占用大量内存。增大慢查询列表可以减缓慢查询被剔除的可能

  • 由于Redis为单线程响应命令,对于高流量的场景如果命令执行在1毫秒以上,那么Redis最多可支撑的OPS不到1000,所以对高OPS场景的Redis建议设置为1毫秒 :slowlog-log-slower-than

(OPS:operation persecode每秒操作的次数。意味着每秒对Redis的持久化)

  • 慢查询由于只检查命令执行 所以执行命令的时间较长可以发生在其他环节
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白鼠先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值