一、慢查詢日志介紹
許多存儲系統(例如MySQL)提供慢查詢日志幫助開發和運維人員定位系統存在的慢操作。所謂慢查詢日志就是系統在命令執行前后計算每條命令的執行時間,當超過預設閥值,就將這條命令的相關信息記錄下來,Redis也提供了類似的功能
Redis的慢查詢日志功能用于記錄執行時間超過給定時長的命令請求,用戶可以通過這個功能產生的日志來監視和優化查詢速度
客戶端命令執行步驟一般分為4步:發送命令、命令排隊、命令執行、返回結果。慢查詢只統計命令執行的時間的時間,所以沒有慢查詢并不代表客 戶端沒有超時問題
二、慢查詢的兩個配置參數
slowlog-log-slower-than選項:指定執行時間超過多少微秒(1秒等于1000 000微秒)的命令請求會被記錄到日志上
舉個例子,如果這個選項的值為100,那么執行時間超過100微秒的命令就會被記錄到慢查詢日志
提示:如果slowlog-log-slower-than=0會記錄所有的命令,slowlog-log-slowerthan<0對于任何命令都不會進行記錄
slowlog-max-len選項:指定服務器最多保存多少條慢查詢日志
慢查詢日志數量的溢出
Redis使用了一個列表來存儲慢查詢日志,服務器使用先進先出的方式保存多條慢查詢日志,當服務器存儲的慢查詢日志數量等于slowlog-max-len選項的值時,服務器在添加一條新的