1.生命周期
- 慢查詢發生在第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左右
- 了解指令的生命周期
- 定期持久化慢查詢