監控執行中的查詢

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

您可以在 Google Cloud 控制台的 Spanner 查詢洞察頁面中,查看執行中的查詢。這些查詢會依查詢的開始時間排序。如果有效查詢數量過多,由於 Spanner 對資料收集作業強制執行記憶體限制,結果可能只會顯示部分查詢。

事前準備

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

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

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

查看執行中的查詢

如要查看每個資料庫的執行中查詢,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的 Spanner「Instances」(執行個體) 頁面。

    前往 Spanner「Instances」(執行個體) 頁面

  2. 按一下包含要監控查詢的執行個體。

  3. 在導覽選單中,按一下「查詢洞察」

  4. 使用「Database」(資料庫) 選單指定要監控的資料庫。

  5. 按一下「有效查詢」分頁標籤。這個分頁包含有效查詢的摘要,以及前 50 個執行時間最長的有效查詢表格。

查看執行時間最長的查詢

下表說明「Active queries」(有效查詢) 分頁中「Longest running queries」(執行時間最長的查詢) 表格的預設資料欄:

資料欄名稱 說明
查詢 ID 查詢的專屬 ID。
查詢 SQL 查詢文字。
指紋 要求標記的雜湊值,如果沒有標記,則為 SQL 查詢文字的雜湊值。
開始時間 查詢開始時的時間戳記。
查詢時間長度 執行中查詢的持續時間。
動作 內含終止查詢的連結。

開啟「自動重新整理」切換鈕後,螢幕會每 60 秒重新整理一次。

您可以使用「資料欄顯示選項」按鈕,選取要在「執行時間最長的查詢」表格中顯示的下列任一選用資料欄:

資料欄名稱 說明
用戶端 IP 位址 要求查詢的用戶端 IP 位址。有時,用戶端 IP 位址可能會經過遮蓋。這裡顯示的 IP 位址與稽核記錄一致,並遵循相同的遮蓋準則。詳情請參閱「稽核記錄中的呼叫端 IP 位址」。Spanner 建議只在需要用戶端 IP 時要求,因為要求用戶端 IP 位址可能會導致額外延遲。
伺服器區域 Spanner 根伺服器處理查詢的區域。詳情請參閱「查詢生命週期」。
交易類型 查詢的交易類型。可能的值為 READ_ONLYREAD_WRITENONE
API 用戶端標頭 用戶端的 api_client 標頭。
優先順序 查詢的優先順序。如要查看可用的優先順序,請參閱 RequestOptions
使用者代理程式標頭 Spanner 從用戶端收到的 user_agent 標頭。

終止查詢

您可以終止在執行個體中執行的查詢。終止查詢有助於釋放資源,並減輕執行個體的負擔。終止查詢是盡力執行的作業。

啟動終止程序後, Google Cloud 控制台頁面會重新整理。 如果終止成功,系統會從表格中移除查詢。 如果終止失敗,系統會在背景執行終止作業,且查詢會繼續顯示在「執行時間最長的查詢」表格中。

伺服器忙碌時,Spanner 可能無法取消查詢。 你可以再次終止查詢來取消。

如要取得終止查詢所需的權限,請要求管理員授予您執行個體的「Cloud Spanner 資料庫讀者」(spanner.databaseReader) IAM 角色。

這個預先定義的角色具備 spanner.sessions.delete 權限,可終止查詢。

如要終止查詢,請按照下列步驟操作:

  1. 從「執行時間最長的查詢」表格中,選取要終止的查詢。
  2. 在「動作」欄中,按一下「終止」
  3. 在「Terminate query」(終止查詢) 視窗中,按一下「Confirm」(確認)

如要終止多個查詢,請按照下列步驟操作:

  1. 從「執行時間最長的查詢」表格中,選取要終止的查詢。
  2. 按一下「終止所選查詢」
  3. 在「Terminate the following queries」(終止下列查詢) 視窗中,按一下「Confirm」(確認)

後續步驟