天天看點

4.1 Redis之慢查詢

1.生命周期

4.1 Redis之慢查詢
  • 慢查詢發生在第3階段,是由指令引起的
  • 用戶端逾時不一定是慢查詢,但慢查詢是用戶端逾時的一個可能因素

2.和慢查詢相關的兩個配置

(1).showlog-max-len

它決定slowlog最多能儲存多少條日志, slowlog本身是一個FIFO隊列,當隊列大小超過slowlog-max-len時,最舊的一條日志将被删除,而最新的一條日志加入到slowlog。

  • 儲存在記憶體内
  • 先進先出隊列
  • 固定長度,慢查詢長度
  • 預設值為128

(2).showlog-log-slower-than

它決定要對執行時間大于多少微秒的查詢進行記錄。

  • 慢查詢門檻值(機關為微秒),預設值為10000
  • showlog-log-slower-than = 0表示将所有指令記錄為慢查詢
  • showlog-log-slower-than < 0表示不會将任何指令記錄為慢查詢

3.配置方法

(1).擷取預設值

config get slowlog-max-len 
config get slowlog-log-slower-than      

(2).動态配置

config get slowlog-max-len 1000
config get slowlog-log-slower-than 1000      
  • 擷取慢查詢隊列
showlog get n      
  • 擷取慢查詢隊列長度
showlog len      
  • 情況慢查詢隊列
showlog reset      
  • showlog-max-len不要設定過大,預設為10ms,通常設定為1ms,實際中是根據QPS進行設定即可
  • showlog-log-slower-than不要設定過小,通常設定1000左右
  • 了解指令的生命周期
  • 定期持久化慢查詢