Redis slowlog慢查詢

2022-09-23 09:07:07 字數 1100 閱讀 4998

slowlog (閱讀原文) 

此命令用於讀取和重置redis慢請求日誌

redis的slow log記錄了那些執行時間超過規定時長的請求。執行時間不包括i/o操作(比如與客戶端進行網路通訊等),只是命令的實際執行時間(期間執行緒會被阻塞,無法服務於其它請求)。 

有兩個引數用於配置slow log: 

slowlog-log-slower-than:設定執行時間,單位是毫秒,執行時長超過該時間的命令將會被記入log。-1表示不記錄slow log; 0強制記錄所有命令。 

slowlog-max-len:slow log的長度。最小值為0。如果日誌佇列已超出最大長度,則最早的記錄會被從佇列中清除。 

可以通過編輯redis.conf檔案配置以上兩個引數。對執行中的redis, 可以通過config get, config set命令動態改變上述兩個引數

slow log是記錄在記憶體中的,所以即使你記錄所有的命令(將slowlog-log-slower-than設為0),對效能的影響也很小。 

slowlog get: 列出所有slow log 

slowlog get n:列出最近n條slow log

redis 127.0.0.1:6379> slowlog get 2

1) 1) (integer) 14

2) (integer) 1309448221

3) (integer) 15

4) 1) "ping"

2) 1) (integer) 13

2) (integer) 1309448128

3) (integer) 30

4) 1) "slowlog"

2) "get"

3) "100"

每個條目由4個欄位構成: 

1)用於表示該條slow log的唯一id 

2)以unix時間戳表示的日誌記錄時間 

3)命令執行時間,單位:微秒 

4) 執行的具體命令 

只有當reids重啟後,id編號才會被重置。

slowlog len

可以使用slowlog reset重置slow log。日誌一旦被刪除,將無法恢復。

Redis慢查詢日誌 slowlog

1 慢查詢發生在第3階段 2 客戶端超時不一定慢查詢 但慢查詢是客戶端超時的一個可能 slow log 是 redis 用來記錄查詢執行時間的日誌系統。 查詢執行時間指的是不包括像客戶端響應 talking 傳送回覆等 io 操作,而單單是執行一個查詢命令所耗費的時間。 另外,slow log 儲存...

輕鬆使用 Redis slowlog

使用這個命令可以讀取或重置 redis 慢速查詢日誌。通俗講就是 redis 可以把執行時間超過我們設定值的命令記錄下來,slowlog 是...

Redis慢日誌

慢日誌 slow log 是 redis 用來記錄命令執行時間的日誌系統。例如線上redis突然出現堵塞,使用該命令可以查詢redis伺服器...