全部產品
Search
文件中心

ApsaraDB for Redis:離線全量Key分析

更新時間:Jul 27, 2024

通過離線全量Key分析功能來分析Redis的備份檔案,可以快速發現執行個體中的大Key,協助您掌握Key在記憶體中的佔用和分布、Key到期時間等資訊,為您的最佳化操作提供資料支援,協助您避免因Key傾斜引發的記憶體不足、效能下降等問題。

該功能由CloudDBA緩衝分析提供。

注意事項

  • 雲端硬碟(ESSD)型執行個體不支援該功能。

  • 如果執行個體規格已發生變更,則不支援分析執行個體變更前的備份檔案。

  • 離線全量Key分析功能只支援分析Redis資料結構和以下Tair自研資料結構:TairString、TairHash、TairGIS、TairBloom、TairDoc、TairCpc、TairZset,若存在其他Tair自研資料結構會導致分析任務失敗。

操作步驟

  1. 訪問Redis執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。

  2. 在左側導覽列,單擊CloudDBA > 離線全量Key分析

    離線全量Key分析頁簽預設展示最近一天緩衝分析結果清單,您可以根據需求選擇其他時間段。

  3. 離線全量Key分析頁簽,單擊頁面右側的立即分析

  4. 在彈出的對話方塊中,設定分析的節點與方式。

    設定分析節點和方式

    參數

    說明

    選擇分析節點

    選擇需要執行緩衝分析的節點ID。

    說明

    您可以選擇分析整個執行個體,也可以只選中某個節點進行分析。

    分析方式

    您可以按照介面提示,選擇不同的備份檔案。

    • 使用上一個備份檔案:分析當前最新的備份檔案。

    • 選擇歷史備份檔案:允許選擇並分析任意歷史備份檔案。

    • 建立備份, 並使用最新的備份進行分析:立即建立一次備份,待備份完成後對其進行分析,該方式可分析執行個體當前的狀態。

    說明

    在分析已存在的備份檔案時,請確認備份檔案的時間點,是否符合預期。

    分隔字元

    根據需要,輸入用於識別Key首碼的分隔字元。當分隔字元為預設的:;,_-+@=|#時,不需要輸入。

  5. 單擊確定

    系統執行分析並展示分析狀態,您可以單擊重新整理以更新分析狀態。

  6. 找到已完成的分析任務,單擊其操作列的詳情展示詳細的分析結果。

    • 基本資料:展示執行個體基本屬性和緩衝分析方法等資訊。基本資料

    • 相關節點:展示執行個體內各節點的記憶體情況和Key統計資訊。結果1

      說明

      當執行個體為叢集或讀寫分離架構,且選擇的分析節點為整個執行個體時,詳情頁才會展示相關節點資訊並提供節點選擇的功能。

    • 詳情:展示執行個體或節點的Key記憶體佔有情況、Key數量分布情況、Key中元素的記憶體佔用和分布情況、Key到期時間分布、大Key排名等資訊。緩衝分析詳情

常見問題

  • Q:若使用RAM帳號,操作時提示許可權不足怎麼辦?

    A:請對RAM帳號進行授權並重試,更多資訊請參見常見自訂權限原則情境及樣本

  • Q:在同一個執行個體中,為什麼執行離線分析任務的速度時快時慢?

    A:離線分析任務是非同步任務,分析速度還與CloudDBA的當前總任務數有關,當總任務數較多時,該離線分析任務需排隊等待,分析任務的耗時就會變長。

  • Q:如何處理報錯decode rdbfile error: rdb: unknown object type 116 for key

    A:該報錯表示執行個體中存在非標準的Bloom結構,暫不支援分析。

  • Q:如何處理報錯decode rdbfile error: rdb: invalid file format

    A:該報錯表示所選的備份檔案無效,請檢查執行個體是否在該備份時間點後變更配置。

  • Q:如何處理報錯decode rdbfile error: rdb: unknown module type

    A:該報錯表示備份檔案中存在Tair自研資料結構,暫不支援分析。

  • Q:如何處理建立備份, 並使用最新的備份進行分析後報錯XXX backup failed

    A:該執行個體當前存在正在執行的BGSAVE或BGREWRITEAOF命令,導致建立用於緩衝分析任務的備份時出現了失敗的情況。建議您選擇業務低峰期建立備份, 並使用最新的備份進行分析或者選擇歷史備份檔案進行分析。

  • Q:為什麼緩衝分析結果展示的Key記憶體佔有會小於實際已用記憶體

    A:因為緩衝分析僅解析Key與其Value在RDB中序列化後佔用的大小,這僅占執行個體已用記憶體的一部分。除此之外,執行個體已用記憶體還包含了如下記憶體佔用:

    • 在JeMalloc分配記憶體後,位元組對齊部分所佔用的記憶體大小,以及Key與其Value所對應的Struct、指標大小等。例如在2.5億個Key時,位元組對齊、Struct和指標,這三部分的記憶體大小加起來約有2~3 GB。

    • 用戶端輸出緩衝區、查詢緩衝區、AOF重寫緩衝區和主從複製的Backlog等。

相關API

API介面

說明

CreateCacheAnalysisJob

建立緩衝分析任務。

DescribeCacheAnalysisJob

查詢快取分析任務詳情。

DescribeCacheAnalysisJobs

查詢快取分析工作清單。