本頁說明如何監控及排解資料庫中現正執行的查詢。監控這些查詢有助於找出系統延遲和 CPU 使用率偏高的原因。
在查詢洞察資訊主頁上,您可以查看有效交易的摘要,以及相關查詢和統計資料的交易清單。交易會依交易開始時間顯示。如果執行大量查詢,結果可能只會顯示部分查詢。
事前準備
如要監控執行中的查詢,可以使用 Cloud SQL Enterprise 版或 Cloud SQL Enterprise Plus 版。
如要在執行中的查詢中終止工作階段或長時間執行的交易,Cloud SQL 執行個體必須使用 Cloud SQL Enterprise Plus 版本。
如要進一步瞭解 Cloud SQL 版本,請參閱「Cloud SQL 版本簡介」。
必要角色和權限
如要取得查看有效查詢所需的權限,請要求管理員在 Cloud SQL 執行個體所在的專案中,授予您下列 IAM 角色:
-
查看執行個體活動摘要:
Cloud SQL 檢視者 (
roles/cloudsql.viewer
) -
查看資料庫活動摘要和長時間執行的交易:
資料庫洞察檢視者 (
roles/databaseinsights.viewer
) -
終止工作階段或長時間執行的交易:
-
Cloud SQL 編輯者 (
roles/cloudsql.editor
) -
Database Insights Operations Admin (
roles/databaseinsights.operationsAdmin
)
-
Cloud SQL 編輯者 (
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這些預先定義角色具備查看有效查詢所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要查看有效查詢,必須具備下列權限:
-
查看資料庫活動摘要和長時間執行的交易:
-
databaseinsights.activeQueries.fetch
-
databaseinsights.activitySummary.fetch
-
啟用執行中的查詢
如要為 Cloud SQL Enterprise 版執行個體啟用作用中查詢,請按照下列步驟操作:
-
前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。
- 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
- 在「設定」方塊中,按一下「編輯設定」。
- 在「自訂執行個體」部分,展開「查詢洞察」。
- 確認已啟用「啟用查詢洞察」。
- 選取「執行中查詢分析」。
- 按一下 [儲存]。
如要為 Cloud SQL Enterprise Plus 版執行個體啟用執行中的查詢,請按照下列步驟操作:
-
前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。
- 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
- 在「設定」方塊中,按一下「編輯設定」。
- 在「自訂執行個體」部分,展開「查詢洞察」。
- 確認已啟用「啟用查詢洞察」。
- 選取「啟用 Enterprise Plus 功能」。
- 選取「執行中查詢分析」。
- 按一下 [儲存]。
如要在執行中的查詢中終止工作階段或長時間執行的交易,必須使用 Cloud SQL Enterprise Plus 版本的查詢洞察。
停用執行中的查詢
如要在 Cloud SQL Enterprise 版或 Cloud SQL Enterprise Plus 版執行個體上停用執行中的查詢,請按照下列步驟操作:
-
前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。
- 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
- 在「設定」方塊中,按一下「編輯設定」。
- 在「自訂執行個體」部分,展開「查詢洞察」。
- 取消勾選「執行中查詢分析」核取方塊。
- 按一下 [儲存]。
查看執行中的查詢
如要查看有效查詢,請完成下列步驟:
前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。
如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
執行下列任一操作,顯示「查詢洞察」資訊主頁:
- 選取「查詢洞察」分頁標籤。
- 按一下「前往查詢洞察,深入瞭解查詢和效能」。 「查詢洞察」資訊主頁隨即開啟。頂端會顯示執行個體的詳細資料。
按一下「有效查詢」分頁標籤。
您可以在這裡修改「執行時間最長的交易」表格中顯示的查詢資訊:
- 資料庫:篩選特定資料庫或所有資料庫的查詢負載。
- 使用者:篩選特定使用者帳戶的查詢負載。
所有有效查詢的摘要評分表:顯示依下列參數計算的連線總數,提供所有有效查詢的總覽:
- 按照連線狀態分類的有效連線分布。
- 根據交易狀態劃分的有效交易分布。
- 查詢時間分布情形。
- 執行時間最長的交易:提供最熱門的 50 項執行中查詢總覽 (處於「作用中」和「交易閒置」狀態),並依執行時間降序排序。您可以在表格中篩選及排序有效查詢。
查看正規化的執行中查詢
您可以在「查詢洞察」資訊主頁上,查看正規化有效查詢的熱門長時間執行交易清單。標準化有效查詢會移除敏感資料,並傳回摘要。在下列範例中,不同值使用的摘要相同:
一般查詢
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 版本的查詢洞察。
長時間執行的作業可能需要較長的時間才能終止。
如要終止查詢或交易,請完成下列步驟:
- 在「執行時間最長的交易」表格中,選取查詢。
- 在「動作」欄中,按一下「終止連結」。
- 在「終止連線」視窗中,按一下「確認」。
如果系統成功終止查詢或交易,畫面會顯示成功訊息。系統也會視需要執行回溯作業。
已封鎖的執行中查詢
如果特定有效查詢遭到封鎖或執行時間遠超出預期,該有效查詢可能會封鎖其他相依查詢。
Cloud SQL 可讓您終止特定長時間執行或遭到封鎖的有效查詢。
啟用已封鎖的執行中查詢分析
根據預設, Google Cloud 控制台不會顯示哪些有效查詢遭到封鎖。 如要分析遭封鎖的執行中查詢,請先在執行個體上啟用 Cloud SQL Enterprise Plus 版本和執行中查詢。
如要啟用已封鎖的執行中查詢分析,請按照下列步驟操作:
控制台
-
前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。
- 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
- 按一下 [編輯]。
- 展開「查詢洞察」。
- 同時選取「啟用 Enterprise Plus 功能」和「執行中查詢分析」。兩項設定皆為必填。
- 選取「已封鎖的查詢分析」。
- 按一下 [儲存]。
找出並終止遭到封鎖的執行中查詢
下列步驟說明如何找出並終止可能封鎖其他查詢的特定有效查詢。
控制台
-
前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。
- 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
- 在 SQL 導覽選單中,按一下「查詢洞察」。
- 按一下「有效查詢」分頁標籤。
如果目前沒有執行中的查詢,請前往 Cloud SQL Studio,然後執行要調查的查詢。
- 前往「執行時間最長的交易」專區。最多可查看 50 筆執行時間最長的有效查詢。
顯示的每個項目都包含下列資訊:
- 程序 ID:查詢的程序 ID。按一下「展開」
- 沙漏圖示: 這個圖示表示程序正在等待其他查詢完成。如果圖示旁有數字,表示有多少個相依查詢正在等待這個程序完成。
- 封鎖符號圖示: 這個圖示表示程序無法完成,且可能封鎖其他查詢。
,即可查看項目。你可能會看到下列其中一個圖示:
- 查詢類型:執行的查詢類型,例如
SELECT
或UPDATE
。 - 狀態:有效查詢的狀態,例如
ACTIVE
。 - 工作階段時間長度 (秒):目前工作階段的時間長度 (以秒為單位)。
- 交易持續時間 (秒):目前運作中交易的持續時間 (以秒為單位)。
- 查詢時間長度 (秒):目前運作中查詢的時間長度 (以秒為單位)。
- 等待事件類型:查詢執行期間目前發生的等待事件類型,例如「逾時」或「鎖定」。
- 等待事件:查詢執行期間目前發生的等待事件。
- 動作:可採取的動作,例如「終止連線」。
按一下要調查的程序 ID,展開相關資訊。您可以在調查樹狀結構中,展開最多三層的基礎程序。
- 程序 ID:查詢的程序 ID。按一下「展開」
- 找出遭封鎖的特定查詢,然後按一下「終止連線」。連線終止後,您可以前往 Cloud SQL Studio 再次執行有效查詢。