指令耗用大量資源

您可能會使用耗用大量資源的 Redis 指令。隨著資料總大小或索引鍵大小增加,使用這些指令的費用也會增加。使用這些指令可能會導致下列效能問題:

  • 延遲時間長和用戶端逾時
  • 因指令增加記憶體用量而導致記憶體壓力
  • 節點複製和同步處理期間發生資料遺失,因為 Redis 主執行緒遭到封鎖
  • 健康狀態檢查、可觀測性和複製作業遭到延遲

如要解決這些效能問題,請使用「Expensive commands」(耗用資源的指令) 健康狀態問題。如要存取這項健康狀態問題,請使用 Database Center。 這個 AI 輔助的資訊主頁會集中顯示叢集的健康狀態問題。

事前準備

開始使用「Expensive commands」(耗用資源的指令)健康狀態問題前,請先完成本節中的必要條件。

指派角色和權限

如要使用 Database Center 查看及處理健康狀態問題,您必須獲得 Database Center 的 IAM 權限。如要進一步瞭解如何取得這些權限,請參閱「授予 IAM 權限」。

此外,如要進一步瞭解 IAM 角色,請參閱「IAM 角色和權限索引」和「管理專案、資料夾和機構的存取權」。

查看健康狀態問題

如要查看「Expensive commands」(耗用資源的指令) 健康狀態問題,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的 Database Center「所有資源」頁面。

    所有資源

  2. 選取「產品」選單。在「產品」對話方塊中,執行下列操作:

    1. 選用:如果已選取任何產品,請清除。

    2. 在「Memorystore」窗格中,選取「Redis Cluster 7.0」

    3. 按一下「套用」

  3. 選取「問題」選單,在「問題」對話方塊中,執行下列操作:

    1. 清除所有選取的問題。

    2. 在「效能和容量」窗格中,選取「昂貴的指令」健康問題。

    3. 按一下 [套用]。Database Center 會顯示與耗用大量資源的指令相關聯,且有成效問題的叢集。

  4. 按一下叢集名稱旁顯示的問題。「Expensive commands」(耗用資源的指令) 健康問題會開啟在另一個窗格中。

    如果叢集旁未顯示問題,表示您並未對叢集使用耗用資源的指令。

  5. 如要查看健康狀態問題的詳細資訊,請按一下窗格中的展開箭頭 ()。

解決健康狀態問題

如要解決「耗用大量資源的指令」健康狀態問題,請改用資源效率高的指令,不要使用耗用大量資源的指令。舉例來說,如要移除檔案和連結,可使用資源效率較高的 UNLINK 指令,取代耗費資源的 DEL 指令。

此外,您也可以使用 Cloud Monitoring 查看 /cluster/cpu/maximum_utilization 指標和用戶端記錄。檢查 CPU 使用率偏高的期間,是否與耗用大量資源的指令執行期間一致。

後續步驟