當Tair和Redis記憶體使用量率升高或CPU使用率升高時,您可以使用Top Key統計功能快速找到大Key和熱Key。本功能支援展示執行個體中即時和歷史的大Key、熱Key資訊,包括元素數量多的Key、佔用記憶體大的Key、訪問頻次高的熱Key,協助您有效解決執行個體效能問題。
大Key和熱Key的統計排名機制
為避免對資料庫造成額外的資源佔用,本功能僅會統計用戶端操作(讀、寫)過的Key,並僅保留和展示每種Key類型的Top數量,而不會即時掃描資料庫中的所有Key。同時,在執行個體重啟後或HA切換後,原先統計的TopKey資訊將被清空,統計將重新開始,因此長時間未操作過的Key可能不會被納入統計。如需瞭解資料庫中所有Key的記憶體佔用、數量分布等資訊,請使用離線全量Key分析功能。
Key類型 | 適用版本 | 統計機制 | 展示說明 |
大Key(子項目數量) |
| 元素數量(如Hash中的field數、Set中的member數等)達到閾值(預設2000)及以上時,被統計為大Key。可通過設定參數 說明
| 最多展示每個資料類型排名前3的大Key,當Key的元素數量相同時優先展示先寫入的Key。 說明
|
大Key(記憶體佔用) | Tair(企業版)記憶體型雲原生版且小版本25.6.0.0及以上。 |
| 最多支援展示排名前3的Key,當Key的大小相同時按字串字典序排序。 |
熱Key(QPS) |
| Key的QPS超過5000時,被記錄為熱Key。可通過設定參數 | 在同一時間內,系統最多展示前50個熱Key,支援即時展示其精確QPS。 |
熱Key(流量) | Tair(企業版)記憶體型雲原生版且小版本25.2.0.0及以上。 | Key的訪問流量超過1MB/s時,被記錄為熱Key。
| 在同一時間內,系統最多展示前50個熱Key,支援即時展示其精確出、入流量和訪問頻次。 說明 支援統計不存在的Key。當資料類型顯示not-exist-key,代表此Key不存在但存在高頻訪問。 |
操作步驟
訪問執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。
在左側導覽列,單擊。
根據業務需求,選取查詢即時資料或歷史資料。
圖 1. Key分析
說明如果執行個體為叢集架構或讀寫分離架構,您還可以在當前節點下拉框中選擇要展示資料的節點。
查詢歷史資料時,支援查詢最近4天的大Key和熱Key資訊,且最大查詢時間範圍不能超過3小時。
相關API
DAS產品的API介面 | 說明 |
擷取當前記憶體中即時的熱Key和大Key資訊。 | |
擷取一段時間內排名前20的熱Key資訊。 | |
擷取一段時間內排名前20的大Key資訊。 | |
擷取Redis執行個體的熱Key資訊。 |
常見問題
Q:為什麼大Key(子項目數量)中會顯示String類型Key?
A:在Redis開源版和部分早期Tair版本中會顯示String類型長度大於閾值(預設為2000)的Key。
Q:為什麼元素很少(如10個以內)的Key也顯示為大Key?
A:有以下兩種可能原因。
Key的name佔用大,可使用
memory usage key_name命令查看。執行個體小版本過低,小版本低於5.2.7的執行個體
bigkey-threshold(大Key統計閾值)預設值為0,導致記憶體佔用小的Key也展示了出來,建議升級小版本到最新。