若您希望分析Tair (Redis OSS-compatible)執行個體的效能,定位執行個體中的慢查詢命令或潛在的效能瓶頸等問題,您可以通過查看慢日誌對執行個體進行分析,找到解決效能問題、最佳化請求的線索。慢日誌記錄了執行時間超過指定閾值(slowlog-log-slower-than)的命令,預設為20毫秒,您也可以自訂該參數。
功能簡介
執行個體的慢日誌會記錄執行時間超過指定閾值的請求,慢日誌分為資料節點慢日誌和代理慢日誌。
Redis開源版 2.8版本執行個體不支援查詢慢日誌功能,您可以在 中查看慢日誌,但Redis開源版 2.8版本的慢日誌不支援顯示用戶端地址等資訊。
資料節點慢日誌
資料節點慢日誌中統計的命令執行時間僅包含命令在資料節點中的執行時間,不包含資料節點與代理或用戶端的通訊時間以及命令在單線程隊列上的排隊延遲等。
資料節點慢日誌的保留時間為72小時,無數量限制。
由於執行個體效能出色,通常情況下,資料節點慢日誌的數量較少。
相關參數
參數名 | 說明 |
slowlog-log-slower-than | 設定資料節點慢日誌閾值,預設為20000微秒(即20毫秒)。 說明 通常情況下您感知到的延遲實際會高於本參數設定的值,因為感知時間中包含了資料在用戶端、代理、資料節點之間傳輸和處理所消耗的時間。 |
slowlog-max-len | 設定最大慢日誌條目數,預設為1024。 |
參數設定方法請參見設定執行個體參數。
代理慢日誌
代理慢日誌中統計的命令執行時間從代理向資料節點發出請求開始,到代理從資料節點收到相應的回複為止,包含了命令在資料節點中的執行時間、資料在網路中的傳輸時間以及命令的排隊延遲等。
代理慢日誌的保留時間為72小時,無數量限制。
由於代理慢日誌反映的延遲與您在應用端感受到的延遲更相近,在排查執行個體逾時問題時,建議多關注此類日誌。
標準架構執行個體不提供代理慢日誌。
相關參數
參數名 | 說明 |
rt_threshold_ms | 設定代理慢日誌的閾值,預設為500毫秒。建議將該閾值配置為與用戶端逾時時間近似的值,推薦為200毫秒到500毫秒。 |
參數設定方法請參見設定執行個體參數。
操作步驟
特殊慢查詢語句說明
此類請求為執行個體核心邏輯,與您的實際請求執行速率無直接關係,您可以忽略下述慢查詢語句。
慢查詢語句 | 說明 |
latency:eventloop | 執行個體運行時使用事件驅動模式,一次事件迴圈包括命令讀取、解析、執行和返回結果整個過程。 |
latency:pipeline | 執行個體支援用戶端的pipeline執行模式,該模式下用戶端發送一批命令,待所有命令執行完後批量返回結果。叢集版的Proxy 伺服器(Proxy)預設採用Pipeline模式向後端資料節點發送請求。 |
latency:fork |
|
相關API
API | 說明 |
查詢執行個體在指定時間內產生的慢日誌。 |