默認配置
先查看生效的關於慢查詢的默認配置:
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左右