查看效能擷取記錄

效能擷取功能會收集執行個體指標資料,並傳送至 mysql-performance-capture.log 檔案中的 Cloud Logging。

如要進一步瞭解如何在 Cloud Logging 中查看記錄,請參閱「使用 Logs Explorer 查看記錄」。

事前準備

如要查看效能擷取記錄,您必須具備適當權限,才能在專案和執行個體的 Cloud Logging 中查看記錄。

必要角色和權限

如要取得查看效能擷取記錄所需的權限,請要求管理員在執行個體的專案中授予您「記錄檢視者 」(roles/logging.viewer) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

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

查看效能擷取記錄

如要查看效能擷取記錄,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Cloud Logging」頁面。

    前往 Cloud Logging

  2. 按一下「所有資源」,然後選取「Cloud SQL 資料庫」
  3. 選取 Cloud SQL 執行個體。
  4. 篩選記錄檔名稱:

    logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log"

    PROJECT_ID 替換為專案 ID。

    記錄酬載為字串格式,包含擷取的指令 (例如 SHOW ENGINE INNODB STATUS) 輸出內容,跨越多個記錄行。

查看成效擷取記錄檔中的資料

每個效能擷取記錄檔都是由您為執行個體定義的效能事件觸發。下表將效能擷取記錄項目與設定的門檻相互對應,並說明您可在記錄項目中查看的效能資料報表。

效能擷取記錄項目 說明 門檻觸發條件 報表名稱
執行中的查詢 擷取資料庫負載指標,包括依狀態分組的連線和交易計數、依執行階段時間分組的有效查詢計數 (小於 2 秒、2 到 10 秒、大於等於 10 秒),以及執行時間最長的前 50 項交易或查詢的詳細資訊。這份報表有助於找出高負載期間,並找出特定緩慢的查詢。

如要進一步瞭解如何解讀 InnoDB 交易和程序相關資料,請參閱 MySQL 說明文件中的「INFORMATION_SCHEMA INNODB_TRX 資料表」和「processlist 資料表」
  • runningThreadsThreshold (Cloud SQL Admin API)
  • running-threads-threshold (gcloud CLI)
activequeries
InnoDB 狀態 提供效能事件發生時的 InnoDB 儲存引擎狀態相關資訊。這對診斷鎖定爭用、交易問題、緩衝區集區問題和歷史記錄清單長度成長至關重要。應注意的關鍵字:
  • TRANSACTIONS (長時間執行的交易、鎖定等待)
  • SEMAPHORES (互斥爭用)
  • LATEST DETECTED DEADLOCK
  • BUFFER POOL AND MEMORY
  • HISTORY LIST LENGTH
如要進一步瞭解 InnoDB 標準監控器輸出內容,請參閱 MySQL 說明文件中的「InnoDB Standard Monitor and Lock Monitor Output」。
  • runningThreadsThreshold (Cloud SQL Admin API)
  • running-threads-threshold (gcloud CLI)
innodbstatus
複製分析 包含複製診斷資訊,包括 SHOW REPLICA STATUS 的輸出內容、GTID 集,以及效能結構定義工具的詳細資料。報表也包含效能事件發生時,繼執行位置之後,中繼記錄中的前五個事件。這份報告可用於診斷複製錯誤或延遲問題。

如要進一步瞭解 SHOW REPLICA STATUS 輸出內容和副本套用程式執行緒,請參閱 MySQL 說明文件中的「 SHOW REPLICA STATUS Statement」和「 Monitoring Replication Applier Worker Threads」。
  • secondsBehindSourceThreshold (Cloud SQL Admin API)
  • seconds-behind-source-threshold (gcloud CLI)
replicastatus
交易監控器資料 正在追蹤的長時間交易詳細資料。

如要進一步瞭解如何解讀 InnoDB 交易的資料,請參閱 MySQL 說明文件中的「INFORMATION_SCHEMA INNODB_TRX 資料表」
  • transactionDurationThreshold (Cloud SQL Admin API)
  • transaction-duration-threshold (gcloud CLI)
LongRunningTransactions

篩選成效擷取記錄中的資料

當效能擷取功能根據為 Cloud SQL 執行個體設定的門檻偵測到問題時,監控代理程式會將與執行個體和報表類型相關聯的標籤記錄項目傳送至 Cloud Logging。

為協助您整理記錄並將記錄項目與執行個體觀察到的效能問題建立關聯,您可以依標籤篩選效能擷取記錄項目。

每個記錄項目都標有下列兩個標籤:

  • 事件發生時間,或 labels.EVENT_TIME:表示擷取效能記錄項目的時間。格式為唯一的時間戳記字串 YYYY-MM-DDTHH:MM:SSZ。 例如:2025-10-16T13:12:07Z

  • 檔案名稱或 labels.FILE_NAME:識別報表類型,以及由效能事件觸發的效能擷取記錄項目序號。格式為 INSTANCE_TYPE_SEQUENCE_NUMBER_REPORT_TYPE。例如 primary_1_activequeries,這是有效查詢報表的第一個效能擷取記錄項目。

篩選器範例

本節提供範例,說明如何篩選 mysql-performance-capture.log 檔案中的特定記錄項目以進行分析。

在下列範例中,請替換下列項目:

  • PROJECT_ID:Cloud SQL 執行個體的專案 ID
  • TIMESTAMP:觸發成效事件的時間戳記,格式為 YYYY-MM-DDTHH:MM:SSZ。例如:2025-10-16T13:12:07Z

依特定成效事件篩選

如要依特定效能事件篩選,請使用 labels.EVENT_TIME 標籤找出相關記錄項目。

舉例來說,如要取得特定效能事件的報表,請在 Logging 記錄檔探索工具的查詢建立工具中使用下列查詢。

取得特定活動的所有報告

logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log"
labels.EVENT_TIME="TIMESTAMP"

取得特定事件的 InnoDB 報告

logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log"
labels.EVENT_TIME="TIMESTAMP"
labels.FILE_NAME=~"innodbstatus"

只取得特定事件所有報表類型的第一個記錄項目

logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log"
labels.EVENT_TIME="TIMESTAMP"
labels.FILE_NAME=~"_1_"

依檔案名稱篩選

取得所有事件的activequeries報表

這項一般查詢有助於查看任何效能事件期間的有效查詢。

logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log"
labels.FILE_NAME=~"activequeries"

更改下列內容:

  • PROJECT_ID:Cloud SQL 執行個體的專案 ID

比較特定事件的第 1 方和第 3 方報表innodbstatus

logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log"
labels.EVENT_TIME="TIMESTAMP"
(labels.FILE_NAME="primary_1_innodbstatus" OR labels.FILE_NAME="primary_3_innodbstatus")

更改下列內容:

  • PROJECT_ID:Cloud SQL 執行個體的專案 ID
  • TIMESTAMP:觸發成效事件的時間戳記,格式為 YYYY-MM-DDTHH:MM:SSZ。例如:2025-10-16T13:12:07Z

找出特定時間後發生的任何事件的第一個activequeries報表

logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log"
labels.FILE_NAME="primary_1_activequeries"
timestamp > "TIMESTAMP"

更改下列內容:

  • PROJECT_ID:Cloud SQL 執行個體的專案 ID
  • TIMESTAMP:時間戳記,格式為 YYYY-MM-DDTHH:MM:SSZ。例如:2025-10-16T13:12:07Z

在任何 InnoDB 狀態報表中搜尋特定文字

logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log"
labels.FILE_NAME=~"innodbstatus"
textPayload:"SEARCH_TEXT"

更改下列內容:

  • PROJECT_ID:Cloud SQL 執行個體的專案 ID
  • SEARCH_TEXT:要搜尋的文字。例如: SEMAPHORE WAITS