默认配置
先查看生效的关于慢查询的默认配置:
cat redis.conf | grep slow | egrep -v ^#
输出如下:
slowlog-log-slower-than 10000
slowlog-max-len 128
slowlog-log-slower-than
慢查询阈值,单位是微秒,其它解释如下:
# 记录所有命令
slowlog-log-slower-than 0
# 不记录任何命令
slowlog-log-slower-than -1
slowlog-max-len
表示最多存储多少条关于慢查询的记录,它的存储结构是一个队列,具备如下特点:
- 先进先出
- 固定长度
- 保存在内存中
配置方法
在配置文件中虽然预设了这些配置,但不建议直接在配置文件中修改,因为一般不建议重启操作,因此推荐在客户端连接实例中进行动态的查询和设置
# 查询
config get slowlog-max-len
config get slowlog-log-slower-than
# 设置
config set slowlog-max-len 1000
config set slowlog-log-slower-than 64
慢查询命令
# 获取慢查询队列
slowlog get [n]
# 获取慢查询队列长度
slowlog len
# 清空慢查询队列
slowlog reset
运维经验
- slowlog-log-slower-than不要设置过大,默认10ms,通常设置1ms
- slowlog-max-len不要设置过小,通常1000左右