監控執行中的查詢

本頁說明如何監控及排解資料庫中現正執行的查詢。長時間執行的查詢可能會影響資料庫效能。監控這些查詢有助於找出系統延遲和 CPU 使用率偏高的原因。

您可以在查詢洞察資訊主頁上查看執行中的查詢。這些查詢會依交易開始時間顯示。如果執行大量查詢,由於系統對資料收集作業強制執行記憶體限制,結果可能僅限於部分查詢。

事前準備

如要開始查看執行中的查詢,請啟用進階查詢洞察功能,並為執行個體開啟執行中查詢分析,步驟如下:

  1. 前往 Google Cloud 控制台的「Clusters」(叢集) 頁面。

    前往「Clusters」(叢集) 頁面

  2. 在叢集和執行個體清單中,按一下「主要」或「讀取集區」執行個體。

  3. 按一下「查詢洞察」

  4. 按一下 [Edit Settings]。

  5. 在「編輯查詢洞察設定」視窗中,依序選取「啟用 AlloyDB 適用的進階查詢洞察功能」 >「執行中的查詢分析」

  6. 按一下 [儲存變更]。

  7. 在「必須重新啟動,變更才會生效」視窗中,按一下「確認並重新啟動」

您可以使用 Gemini Cloud Assist 輔助功能,監控及排解 AlloyDB for PostgreSQL 資源的問題。詳情請參閱「透過 Gemini 輔助功能監控及排解問題」。

查看執行中的查詢

如要查看有效查詢,請按照下列步驟操作:

  1. 建立自訂角色,並新增 databaseinsights.monitoringViewer Identity and Access Management (IAM) 權限。

  2. 為每位查看有效查詢的使用者新增這個角色。

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

    前往 AlloyDB

  4. 按一下叢集名稱,開啟叢集的「總覽」頁面。

  5. 選取「查詢洞察」分頁標籤。 查詢洞察資訊主頁會顯示所選叢集的詳細資料。

  6. 按一下「Active queries view」(有效查詢檢視畫面) 分頁標籤。 這個分頁包含執行中查詢的摘要,以及執行時間最長的 50 筆交易。

    您可以透過下列任一方式篩選資訊:

    • 資料庫:篩選特定資料庫或所有資料庫的查詢負載。
    • 使用者:篩選特定資料庫使用者或所有使用者的查詢負載。
    • 節點 ID:僅適用於讀取集區執行個體,可篩選特定讀取集區執行個體節點或所有節點的查詢負載。

    所有正規化有效查詢的摘要評分表:根據下列參數顯示連線總數,提供所有有效查詢的總覽:

    • 按照連線狀態分類的有效連線分布。
    • 根據不同等待事件類型分配有效連線。
    • 查詢的交易時間長度分布情形 (不含閒置狀態)。

    執行時間最長的交易:根據執行時間降序排列,總覽 activeidle in transaction 狀態中執行時間最長的 50 項查詢。

您可以在查詢洞察資訊主頁上,查看前 50 個正規化熱門查詢的清單。

標準化後的有效查詢會移除敏感資料,並傳回摘要。除了 WHERE 子句值以外,完全相同的兩個查詢具有相同的摘要。舉例來說,請參考以下三個查詢範例:

  • select * from my_table where id = 1;
  • select * from my_table where id = 2;
  • select * from my_table where id = 100;

這些查詢的標準化版本如下:

select * from my_table where id = ?;

在不同工作階段執行的查詢會顯示為資訊主頁上的不同項目。

查看執行時間最長的交易

下表說明查詢洞察資訊主控台「執行時間最長的交易」表格的資料欄:

資料欄名稱 說明
程序 ID 程序 ID 是資料庫連線的專屬 ID。
節點 ID 節點 ID 是查詢執行的讀取集區執行個體節點專屬 ID。
查詢 正規化的 SQL 查詢文字。
狀態 連線的目前狀態。狀態值包括 activeidle in transaction
工作階段持續時間 目前工作階段持續時間 (以秒為單位)。
交易時間長度 目前交易的持續時間 (以秒為單位)。
查詢時間長度 目前運作中查詢的持續時間 (以秒為單位)。處於 idle in transaction 狀態的查詢不會主動執行,因此查詢時間為 0
等待事件類型 查詢執行期間發生的等待事件類型。
等待事件 查詢執行期間發生的等待事件。
資料庫 這項連線執行的資料庫名稱。
應用程式名稱 執行這項連線的應用程式名稱。
使用者名稱 連線至資料庫的資料庫使用者名稱。
用戶端位址 傳送查詢的用戶端特定 IP 位址。
動作 內含終止交易的連結。

系統每 60 秒會自動重新整理一次畫面。

使用「資料庫」和「使用者」欄位進行篩選,即可重新整理頁面上的資料。

如要分析靜態資料,請停用「自動重新整理」,並視需要使用「執行時間最長的交易」表格的「篩選器」欄位。

終止查詢或交易

如要終止查詢或交易,您必須具備 databaseinsights.operationsAdmin 角色。詳情請參閱「IAM 基本和預先定義角色參考資料」。

交易可包含多個查詢。如要找出目前處於活動狀態的查詢,請查看「執行時間最長的交易」表格中的「查詢」欄。

如要終止查詢或交易,請完成下列步驟:

  1. 在「執行時間最長的交易」表格中選取查詢。
  2. 向右捲動至「動作」欄。
  3. 按一下「終止連線」
  4. 在「終止連線」視窗中,按一下「確認」

    啟動終止程序後,頁面會重新整理。如果終止失敗,系統不會發出通知,查詢會繼續顯示在「Active Query」清單中。如果終止成功,查詢就不會再顯示在清單中。

後續步驟