在資料庫中尋找熱點

本文說明如何使用熱點洞察資訊主頁,偵測 Spanner 資料庫中的熱點。找出並解決熱點問題,對於提升資料庫效能至關重要,因為這樣可以減少特定資料庫分割區的延遲時間和高 CPU 使用率。

資源使用率不均洞察總覽

熱點會導致 Spanner 資料庫發生延遲。資源使用率不均的深入分析資訊主頁可協助您偵測受資源使用率不均影響的分割。請按照下列步驟判斷熱點是否導致延遲,以及如何解決問題:

  1. 開啟資訊主頁。
  2. 判斷熱點是否需要您介入處理。
  3. 找出有問題的熱分割。

熱點洞察資料適用於單一區域、多區域和雙區域設定。

定價

使用熱點洞察功能不須支付額外費用。

資料保留

熱點洞察圖表和表格的資料保留期限上限為 6 小時。

最熱門的分割畫面資料表會從 SPANNER_SYS.SPLIT_STATS_TOP_MINUTE 資料表擷取資料,最多保留 6 小時。詳情請參閱「資料保留」。

必要的角色

視您是 IAM 使用者還是精密控制權限使用者,您可能需要不同的 IAM 角色和權限。

身分與存取權管理 (IAM) 使用者

如要取得查看「熱點洞察」頁面所需的權限,請要求管理員在執行個體中授予下列 IAM 角色:

如要查看「熱點洞察」頁面,您必須具備 Cloud Spanner 資料庫讀取者 (roles/spanner.databaseReader) 角色的下列權限:

  • spanner.databases.beginReadOnlyTransaction
  • spanner.databases.select
  • spanner.sessions.create

精細的存取權控管機制使用者

如果您是精細存取權控管使用者,請確認您:

  • 具備 Cloud Spanner 檢視者 (roles/spanner.viewer)
  • 具備精細的存取權控管權限,並獲派spanner_sys_reader 系統角色或其中一個成員角色。
  • 在資料庫的「總覽」頁面,選取 spanner_sys_reader 或成員角色做為目前的系統角色。

詳情請參閱精細存取權控管總覽精細存取權控管系統角色

開啟「資源使用率不均洞察」資訊主頁

「熱點洞察」資訊主頁會顯示最高的分割 CPU 用量百分比。這項指標是介於 0 到 100 的抽象百分比,反映存取分割內資料列時耗用的 CPU 數量。

如要查看資料庫的「資源使用率不均的深入分析」資訊主頁,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,開啟「Spanner」頁面。

    前往 Spanner

  2. 從清單中選取執行個體。

  3. 在導覽選單中,按一下「熱點洞察」分頁標籤。

  4. 在「資料庫」欄位中,從清單選取資料庫。資訊主頁會顯示資料庫的最高分割 CPU 用量分數。

資訊主頁的區域包括:

  • 「最高的分割 CPU 用量分數」圖表:較高的 CPU 用量分數 (例如接近 100) 代表分割相當熱門,伺服器極有可能出現資源使用率不均的情況。
  • 資料庫欄位:篩選特定資料庫或所有資料庫的熱分割資訊。
  • 時間範圍篩選器:以 1 分鐘為增量,篩選最多 6 小時的最高分割 CPU 用量。
  • 前 N 個分割區資料表:顯示依分割區 CPU 用量分數排序的前幾名分割區清單。

Spanner 的 Hotspot Insights 資訊主頁,顯示分割 CPU 用量高峰的圖表、資料庫選取器、時間範圍篩選器,以及前 N 個熱門分割的表格。

判斷是否需要介入處理熱點

如果圖表顯示整體延遲時間有尖峰或升高趨勢,且分割 CPU 用量分數持續偏高,您可能需要進一步調查。

查看圖表,瞭解下列問題的答案:

  • 哪個資料庫的延遲時間變長?從「資料庫」清單中選取不同資料庫,找出延遲時間最長的資料庫。如要找出負載最高的資料庫,您也可以在 Google Cloud 控制台中查看資料庫的延遲時間圖表

    標題為「最高的分割 CPU 用量分數」的折線圖,顯示一段時間內的最高分割 CPU 用量分數。圖表顯示尖峰,可能表示有熱點和潛在的延遲問題。

  • 延遲時間是否很長?與工作負載的預期延遲時間相比,延遲時間是否偏高?圖表是否隨時間呈現尖峰或上升趨勢?如果沒有看到高延遲,表示熱點不是問題。

  • 最高的分割 CPU 用量分數是否為 100%?圖表是否出現尖峰,或隨著時間推移而升高?如果持續 10 分鐘以上,您都未看到 CPU 使用率達到 100% 的尖峰值,則熱點可能不是問題。如果分割的 CPU 使用率百分比在尖峰時段偏高,且持續超過 10 分鐘,建議您進一步調查,看看資料庫的延遲時間是否高於預期。

如果分割 CPU 使用率百分比在 10 分鐘內達到 100% 尖峰值,則可能需要介入處理資源使用率不均的情況。接下來,您可以繼續偵錯,找出資料庫中資源使用率不均的分割。

找出有問題的熱分割

如要找出可能出現熱點的問題分割,請參閱 Google Cloud 控制台中的「TopN splits」(前 N 個分割)部分,如下所示。

Spanner 中的「TopN splits」(前 N 個分割) 資料表,列出可能出現問題的分割。表格包含「間隔結束時間」、「分割開始時間」、「分割限制」、「分割 CPU 用量分數」和「受影響的表格」等欄。

「TopN splits」(TopN 分割) 表格會顯示所選時間範圍內可能熱門的分割,並依時間排序 (從最新到最早)。TopN 分割數上限為 100。

就圖表而言,Spanner 會從 TopN 分割統計資料表擷取資料,細微程度為一分鐘。圖表中每個資料點的值,代表一分鐘間隔內的平均值。

表格會顯示下列屬性:

  • 間隔結束:CPU 使用率高峰期結束的日期和時間。
  • 分割起始鍵:分割內資料列範圍的起始鍵。如果分割起始位置是 <begin>,代表資料庫鍵範圍的開頭。
  • 分割極限:分割內資料列範圍的極限鍵。如果極限鍵是 <end>,則表示資料庫鍵範圍的結尾。
  • 分割 CPU 用量分數:介於 0 到 100 之間的抽象分數,反映單一伺服器中,存取分割內資料列耗用的 CPU 數量。您可以參考 CPU 用量分數,評估是否有資源使用率不均的情況。
  • 受影響的資料表:所含資料列可能儲存於分割的資料表。

後續步驟