監控執行中的查詢

本頁面說明如何監控及排解資料庫中正在執行的查詢。監控這些查詢有助於找出系統延遲和 CPU 使用率偏高的成因。

在「查詢洞察」儀表板上,您可以查看有效交易的摘要,以及含有相關查詢和統計資料的交易清單。交易會依據交易開始時間顯示。如果有大量查詢正在執行,結果可能會限制為總查詢的子集。

事前準備

如要監控有效查詢,您可以使用 Cloud SQL Enterprise 或 Cloud SQL Enterprise Plus 版本。

如要終止在進行中的查詢中執行的會話或長時間交易,您必須使用 Cloud SQL Enterprise Plus 版本的 PostgreSQL 適用的 Cloud SQL 執行個體。

如要進一步瞭解 Cloud SQL 版本,請參閱「Cloud SQL 版本簡介」。

必要角色和權限

如要取得查看有效查詢所需的權限,請要求管理員在代管 Cloud SQL 執行個體的專案中,授予您下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

這些預先定義的角色包含查看有效查詢所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:

所需權限

您必須具備下列權限,才能查看有效查詢:

  • 查看資料庫活動摘要和長時間執行的交易:
    • databaseinsights.activeQueries.fetch
    • databaseinsights.activitySummary.fetch

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

啟用執行中的查詢

如要為 Cloud SQL Enterprise 版執行個體啟用有效查詢,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Cloud SQL 執行個體」頁面。

    前往 Cloud SQL 執行個體

  2. 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
  3. 在「Configuration」圖塊中,按一下「Edit configuration」
  4. 在「自訂執行個體」專區中,展開「查詢洞察資料」
  5. 確認已啟用「啟用查詢洞察」
  6. 選取「執行中查詢分析」
  7. 按一下 [儲存]

如要為 Cloud SQL Enterprise Plus 版執行個體啟用有效查詢,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Cloud SQL 執行個體」頁面。

    前往 Cloud SQL 執行個體

  2. 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
  3. 在「Configuration」圖塊中,按一下「Edit configuration」
  4. 在「自訂執行個體」專區中,展開「查詢洞察資料」
  5. 確認已啟用「啟用查詢洞察」
  6. 選取「啟用 Enterprise Plus 功能」
  7. 選取「執行中查詢分析」
  8. 按一下 [儲存]

如要在有效查詢中終止工作階段或長時間執行的交易,您必須使用 Cloud SQL Enterprise Plus 版本的查詢洞察。

停用執行中查詢

如要在 Cloud SQL Enterprise 或 Cloud SQL Enterprise Plus 版本執行個體上停用有效查詢,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Cloud SQL 執行個體」頁面。

    前往 Cloud SQL 執行個體

  2. 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
  3. 在「Configuration」圖塊中,按一下「Edit configuration」
  4. 在「自訂執行個體」專區中,展開「查詢洞察資料」
  5. 取消勾選「執行中查詢分析」核取方塊。
  6. 按一下 [儲存]

查看執行中的查詢

如要查看有效查詢,請完成下列步驟:

  1. 前往 Google Cloud 控制台的「Cloud SQL 執行個體」頁面。

    前往 Cloud SQL 執行個體

  2. 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。

  3. 如要顯示「查詢深入分析」資訊主頁,請執行下列任一操作:

    • 選取「查詢深入分析」分頁標籤。
    • 按一下「前往查詢洞察,進一步瞭解查詢和效能」。系統會開啟「查詢洞察」資訊主頁。頂端會顯示執行個體的詳細資料。
  4. 按一下「有效查詢」分頁標籤。

    您可以在此處修改執行時間最長的交易表格中顯示的查詢資訊:

    • 資料庫:篩選特定資料庫或所有資料庫上的查詢負載。
    • 使用者:篩選特定使用者帳戶的查詢負載。
    • 所有有效查詢的摘要評量表:根據下列參數顯示連線總數,提供所有有效查詢的概覽:

      1. 依連線狀態分類的有效連線分布情形。
      2. 根據交易狀態分布的有效交易。
      3. 查詢時間的分布情形。
    • 執行時間最長的交易:根據執行時間 (由長到短),提供執行中查詢 (處於「執行中」和「交易中閒置」狀態) 的總覽。您可以在表格中篩選及排序執行中的查詢。

查看已規格化的執行中的查詢

您可以在「查詢洞察」資訊主頁中,查看列有正規化有效查詢的熱門長時間交易清單。經過標準化的活動查詢會移除機密資料,並傳回摘要。以下範例中使用的不同值的摘要相同:

  • 一般查詢

    • select * from test_table where id=1;
    • select * from test_table_where id=2;
  • 摘要或已正規化的查詢

    • select * from test_table where id=?;

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

查看執行時間最長的交易

「查詢深入分析」資訊主頁的「執行時間最長的交易」表格包含下列資料欄:

資料欄名稱 說明
程序 ID 連線或執行緒 ID 的專屬 ID。
查詢 SQL 查詢文字。
狀態 連線狀態。
工作階段持續時間 上個工作階段的執行時長。
交易時間長度 目前運作中交易的執行時長。
查詢時間長度 該交易最後一個查詢的執行時長。
等待事件類型 發生的等待事件類型。
等待事件 發生等待事件。
資料庫 這項連線執行的資料庫名稱。
應用程式名稱 這項連線執行的應用程式名稱。
使用者名稱 連線至資料庫的使用者名稱。
用戶端位址 傳送查詢的用戶端特定 IP 位址。
動作 包含終止交易的連結。

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

終止程序

如要終止在進行中的查詢中執行的程序或長時間交易,您必須使用 Cloud SQL Enterprise Plus 版本,並同時啟用 進行中的查詢分析Cloud SQL Enterprise Plus 版本的查詢洞察

長時間執行的作業可能需要較長的時間才能終止。

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

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

如果系統成功終止查詢或交易,系統會顯示成功訊息。系統也會視需要執行回溯作業。

後續步驟