企业级Redis开发运维从入门到实践 (10)— 慢查询

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zx711166/article/details/82842568

客户端请求Redis的生命周期

在这里插入图片描述

  1. 慢查询发生在第3阶段。
  2. 客户端超时不一定是慢查询,但是慢查询是客户端超时的一个可能的原因。

慢查询的两个配置

slowlog-max-len

它决定 slow log 最多能保存多少条日志, slow log 本身是一个 FIFO 队列,当队列大小超过 slowlog-max-len 时,最旧的一条日志将被删除,而最新的一条日志加入到 slow log。

  1. 先进先出队列
  2. 固定长度,队列满后,第一个进入队列的将会被踢出
  3. 保存在内存中
    在这里插入图片描述
slowlog-log-slower-than

它决定要对执行时间大于多少微秒(microsecond,1秒 = 1,000,000 微秒)的查询进行记录。

  1. 慢查询阈值(单位:微秒)
  2. slowlog-log-slower-than=0,记录所有命令
  3. slowlog-log-slower-than<0,不记录任何命令
配置方法
  1. 默认值
config get slowlog-max-len = 128
config get slowlog-log-slower-than = 10000
  1. 修改配置文件重启
  2. 动态配置
config get slowlog-max-len 1000
config get slowlog-log-slower-than 1000

慢查询命令

  • slowlog get [n]:获取慢查询队列
  • slowlog len:获取慢查询队列长度
  • slowlog reset:清空慢查询队列

运维经验

  • slowlog-max-len 不要设置过大,默认10ms,通常设置1ms
  • slowlog-log-slower-than 不要设置过小,通常设置1000左右
  • 理解命令的生命周期
  • 定期持久化慢查询

猜你喜欢

转载自blog.csdn.net/zx711166/article/details/82842568
今日推荐