本頁面說明如何監控及排解資料庫中正在執行的查詢。監控這些查詢有助於找出系統延遲和 CPU 使用率偏高的成因。
在「查詢洞察」儀表板上,您可以查看有效交易的摘要,以及含有相關查詢和統計資料的交易清單。交易會依據交易開始時間顯示。如果有大量查詢正在執行,結果可能會限制為總查詢的子集。
事前準備
如要監控有效查詢,您可以使用 Cloud SQL Enterprise 或 Cloud SQL Enterprise Plus 版本。
如要終止在進行中的查詢中執行的會話或長時間交易,您必須使用 Cloud SQL Enterprise Plus 版本的 PostgreSQL 適用的 Cloud SQL 執行個體。
如要進一步瞭解 Cloud SQL 版本,請參閱「Cloud SQL 版本簡介」。
必要角色和權限
如要取得查看有效查詢所需的權限,請要求管理員在代管 Cloud SQL 執行個體的專案中,授予您下列 IAM 角色:
-
查看執行個體活動摘要:
Cloud SQL 檢視器 (
roles/cloudsql.viewer
) -
查看資料庫活動摘要和長時間執行的交易:
資料庫洞察檢視器 (
roles/databaseinsights.viewer
) -
終止工作階段或長時間執行的交易:
-
Cloud SQL 編輯器 (
roles/cloudsql.editor
) -
資料庫深入分析作業管理員 (
roles/databaseinsights.operationsAdmin
)
-
Cloud SQL 編輯器 (
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這些預先定義的角色包含查看有效查詢所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
您必須具備下列權限,才能查看有效查詢:
-
查看資料庫活動摘要和長時間執行的交易:
-
databaseinsights.activeQueries.fetch
-
databaseinsights.activitySummary.fetch
-
啟用執行中的查詢
如要為 Cloud SQL Enterprise 版執行個體啟用有效查詢,請按照下列步驟操作:
-
前往 Google Cloud 控制台的「Cloud SQL 執行個體」頁面。
- 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
- 在「Configuration」圖塊中,按一下「Edit configuration」。
- 在「自訂執行個體」專區中,展開「查詢洞察資料」。
- 確認已啟用「啟用查詢洞察」。
- 選取「執行中查詢分析」。
- 按一下 [儲存]。
如要為 Cloud SQL Enterprise Plus 版執行個體啟用有效查詢,請按照下列步驟操作:
-
前往 Google Cloud 控制台的「Cloud SQL 執行個體」頁面。
- 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
- 在「Configuration」圖塊中,按一下「Edit configuration」。
- 在「自訂執行個體」專區中,展開「查詢洞察資料」。
- 確認已啟用「啟用查詢洞察」。
- 選取「啟用 Enterprise Plus 功能」。
- 選取「執行中查詢分析」。
- 按一下 [儲存]。
如要在有效查詢中終止工作階段或長時間執行的交易,您必須使用 Cloud SQL Enterprise Plus 版本的查詢洞察。
停用執行中查詢
如要在 Cloud SQL Enterprise 或 Cloud SQL Enterprise Plus 版本執行個體上停用有效查詢,請按照下列步驟操作:
-
前往 Google Cloud 控制台的「Cloud SQL 執行個體」頁面。
- 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
- 在「Configuration」圖塊中,按一下「Edit configuration」。
- 在「自訂執行個體」專區中,展開「查詢洞察資料」。
- 取消勾選「執行中查詢分析」核取方塊。
- 按一下 [儲存]。
查看執行中的查詢
如要查看有效查詢,請完成下列步驟:
前往 Google Cloud 控制台的「Cloud SQL 執行個體」頁面。
如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
如要顯示「查詢深入分析」資訊主頁,請執行下列任一操作:
- 選取「查詢深入分析」分頁標籤。
- 按一下「前往查詢洞察,進一步瞭解查詢和效能」。系統會開啟「查詢洞察」資訊主頁。頂端會顯示執行個體的詳細資料。
按一下「有效查詢」分頁標籤。
您可以在此處修改執行時間最長的交易表格中顯示的查詢資訊:
- 資料庫:篩選特定資料庫或所有資料庫上的查詢負載。
- 使用者:篩選特定使用者帳戶的查詢負載。
所有有效查詢的摘要評量表:根據下列參數顯示連線總數,提供所有有效查詢的概覽:
- 依連線狀態分類的有效連線分布情形。
- 根據交易狀態分布的有效交易。
- 查詢時間的分布情形。
- 執行時間最長的交易:根據執行時間 (由長到短),提供執行中查詢 (處於「執行中」和「交易中閒置」狀態) 的總覽。您可以在表格中篩選及排序執行中的查詢。
查看已規格化的執行中的查詢
您可以在「查詢洞察」資訊主頁中,查看列有正規化有效查詢的熱門長時間交易清單。經過標準化的活動查詢會移除機密資料,並傳回摘要。以下範例中使用的不同值的摘要相同:
一般查詢
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 版本的查詢洞察。
長時間執行的作業可能需要較長的時間才能終止。
如要終止查詢或交易,請完成下列步驟:
- 在「最久執行的交易」表格中選取查詢。
- 在「動作」欄中,按一下「終止連線」。
- 在「終止連線」視窗中,按一下「確認」。
如果系統成功終止查詢或交易,系統會顯示成功訊息。系統也會視需要執行回溯作業。