您可以通過離線全量Key分析功能來分析Tair的備份檔案,快速發現執行個體中的大Key,協助您掌握Key在記憶體中的佔用和分布、Key到期時間等資訊,為您的最佳化操作提供資料支援,協助您避免因Key傾斜引發的記憶體不足、效能下降等問題。
該功能由CloudDBA的緩衝分析提供。
注意事項
磁碟型執行個體不支援該功能。
如果執行個體規格已發生變更,則不支援分析執行個體變更前的備份檔案。
離線全量Key分析功能只支援分析Redis資料結構和以下Tair自研資料結構:TairString、TairHash、TairGIS、TairBloom、TairDoc、TairCpc、TairZset,若存在其他Tair自研資料結構會導致分析任務失敗。
操作步驟
訪問Tair執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。
在左側導覽列,單擊 。
離線全量Key分析頁簽預設展示最近一天緩衝分析結果清單,您可以根據需求選擇其他時間段。
在離線全量Key分析頁簽,單擊頁面右側的立即分析。
在彈出的對話方塊中,設定分析的節點與方式。
參數
說明
選擇分析節點
選擇需要執行緩衝分析的節點ID。
說明您可以選擇分析整個執行個體,也可以只選中某個節點進行分析。
分析方式
您可以按照介面提示,選擇不同的備份檔案。
使用上一個備份檔案:分析當前最新的備份檔案。
選擇歷史備份檔案:允許選擇並分析任意歷史備份檔案。
建立備份, 並使用最新的備份進行分析:立即建立一次備份,待備份完成後對其進行分析,該方式可分析執行個體當前的狀態。
說明在分析已存在的備份檔案時,請確認備份檔案的時間點,是否符合預期。
分隔字元
根據需要,輸入用於識別Key首碼的分隔字元。當分隔字元為預設的
:;,_-+@=|#
時,不需要輸入。單擊確定。
系統執行分析並展示分析狀態,您可以單擊重新整理以更新分析狀態。
找到已完成的分析任務,單擊其操作列的詳情展示詳細的分析結果。
基本資料:展示執行個體基本屬性和緩衝分析方法等資訊。
相關節點:展示執行個體內各節點的記憶體情況和Key統計資訊。
說明當執行個體為叢集或讀寫分離架構,且選擇的分析節點為整個執行個體時,詳情頁才會展示相關節點資訊並提供節點選擇的功能。
詳情:展示執行個體或節點的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:該報錯表示所選的備份檔案無效,請檢查執行個體是否在該備份時間點後進行了變更配置;或者執行個體是否開啟了透明資料加密TDE(該功能無法分析已加密的資訊)。
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介面 | 說明 |
建立緩衝分析任務。 | |
查詢快取分析任務詳情。 | |
查詢快取分析工作清單。 |