運用系統洞察資料改善系統效能

本頁面說明如何使用 Cloud SQL 系統洞察資訊儀表板。「系統深入分析」資訊主頁會顯示執行個體使用的資源指標,並協助您偵測及分析系統效能問題。

您可以使用資料庫輔助功能中的 Gemini,協助觀察及排解 Cloud SQL for MySQL 資源的問題。詳情請參閱「使用 Gemini 協助功能觀察及排解問題」。

查看「系統深入分析」資訊主頁

如要查看「系統洞察」資訊主頁,請按照下列步驟操作:

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

    前往 Cloud SQL 執行個體

  2. 按一下執行個體的名稱。
  3. 在左側的 SQL 導覽面板中,選取「系統深入分析」分頁標籤。

系統洞察資訊主頁會隨即開啟。

資訊主頁圖片,顯示指標和事件時間軸。
圖 1. 資訊主頁圖片:顯示事件時間軸和摘要資訊卡。

「系統洞察」資訊主頁會顯示下列資訊:

  1. 執行個體詳細資料

  2. 事件時間軸:依時間順序顯示系統事件。這項資訊有助您評估系統事件對執行個體健康和效能造成的影響。

  3. 摘要資訊卡:顯示 CPU 使用率、磁碟使用率和記錄錯誤指標的最新值和匯總值,概略說明執行個體的健康狀態和效能。

  4. 指標圖表:顯示作業系統和資料庫指標的相關資訊,協助您深入瞭解多項問題,例如吞吐量、延遲時間和成本。

資訊主頁提供下列高階選項:

  • 如要建立自訂資訊主頁,請按一下「自訂資訊主頁」
  • 如要讓資訊主頁保持最新狀態,請啟用 「自動重新整理」選項。啟用「自動重新整理」後,資訊主頁資料會每分鐘更新一次。這項功能與自訂時間範圍不相容。

  • 時間選取器會顯示預設選取的 1 day。如要變更時間範圍,請選取其他預先定義的時間範圍,或按一下「自訂」,然後定義開始和結束時間。目前系統只提供最近 30 天的資料。

  • 如要建立指向資訊主頁的絕對連結,請按一下「複製連結」按鈕。您可以將這個連結分享給擁有相同權限的其他 Cloud SQL 使用者。

  • 如要為特定事件建立快訊,請按一下 「通知」

  • 如要顯示特定快訊,請按一下「註解」

摘要資訊卡

下表說明系統洞察資訊主頁頂端顯示的摘要資訊卡。這些資訊卡會簡要概述執行個體在所選時間範圍內的健康狀態和效能。

摘要資訊卡說明
CPU 使用率 - P50 P50 CPU 使用率值。
CPU 使用率 - P99 P99 CPU 使用率值。
磁碟使用率 最新的磁碟使用率值。
記錄檔錯誤 記錄的錯誤數量。

指標圖表

每張圖表資訊卡的工具列都提供下列標準選項:

  • 如要查看所選期間特定時刻的指標值,請將游標移至圖表上。

  • 如要放大圖表,請按一下圖表,然後沿著 x 軸水平拖曳或沿著 y 軸垂直拖曳。如要還原縮放操作,請按一下「Reset zoom」。或者,按一下資訊主頁頂端的其中一個預先定義的時間範圍。縮放作業會同時套用至資訊主頁上的所有圖表。

  • 如要查看其他選項,請按一下 「更多圖表選項」。大部分圖表都提供下列選項:

    • 如要以全螢幕模式查看圖表,請按一下「以全螢幕模式查看」。如要退出全螢幕模式,請按一下「取消」

    • 隱藏或收合圖例。

    • 下載圖表的 PNG 或 CSV 檔案。

    • 在 Metrics Explorer 中查看。在 Metrics Explorer 中查看指標。選取 Cloud SQL 資料庫資源類型後,您可以在 Metrics Explorer 中查看其他 Cloud SQL 指標。

  • 如要建立自訂資訊主頁,請按一下 「自訂資訊主頁」,然後為資訊主頁命名。或者,展開「預先定義」選單,然後選取現有的自訂資訊主頁。

  • 如要查看指標圖表的詳細資料,請按一下「探索資料」。您可以在此篩選特定指標,並選擇圖表的顯示方式:

    可自訂的 Cloud SQL 指標資料檢視畫面。

    如要將這項自訂檢視畫面儲存為指標圖表,請按一下「儲存至資訊主頁」

預設指標

下表說明 Cloud SQL 系統洞察資訊主頁預設顯示的 Cloud SQL 指標。

指標名稱和類型說明
查詢延遲時間
dbinsights.googleapis.com/
aggregate/latencies

每個使用者和資料庫的匯總查詢延遲分布情形,按照 P99、P95 和 P50 分類。

僅適用於已啟用 查詢洞察的執行個體。

每個資料庫/使用者/用戶端位址的資料庫負載
dbinsights.googleapis.com/
aggregate/execution_time

每個資料庫、使用者或用戶端位址的累計查詢執行時間。也就是下列項目的總和:CPU 作業時間、I/O 等待時間、鎖定等待時間、程序內容變更,以及查詢執行作業中的所有程序排程。

僅適用於已啟用 查詢洞察的執行個體。

CPU 使用率
cloudsql.googleapis.com/
database/cpu/utilization

目前的 CPU 使用率 (以使用中的預留 CPU 百分比表示)。

MySQL 連線
cloudsql.googleapis.com/
database/network/connections

資料庫執行個體保留的連線數量。

輸入/輸出位元組數

cloudsql.googleapis.com/
database/network/received_bytes_count


cloudsql.googleapis.com/
database/network/sent_bytes_count

與執行個體之間的往來網路流量,分別按照輸入位元組數 (已接收的位元組) 和輸出位元組數 (已傳送的位元組) 分類。

記憶體元件

cloudsql.googleapis.com/
database/memory/components

資料庫可用的記憶體元件,包括用量、快取和剩餘記憶體。每個記憶體元件的值會以百分比計算,表示資料庫可用的總記憶體。
MySQL 查詢
cloudsql.googleapis.com/
database/mysql/queries
伺服器執行的陳述式數量。這包括在已儲存程式中執行的陳述式,例如已儲存程序和函式。
MySQL 問題
cloudsql.googleapis.com/
database/mysql/questions
伺服器執行的陳述式數量。這項功能只會納入用戶端傳送至伺服器的陳述式,而不會納入儲存程式內執行的陳述式。
MySQL 網路流量
cloudsql.googleapis.com/
database/mysql/received_bytes_count

cloudsql.googleapis.com/
database/mysql/sent_bytes_count
從用戶端接收及傳送的位元組數。
InnoDB 頁數

  • InnoDB 髒頁
    cloudsql.googleapis.com/
    database/mysql/innodb_buffer_pool_pages_dirty
  • InnoDB 可用頁面
    cloudsql.googleapis.com/
    database/mysql/innodb_buffer_pool_pages_free
  • InnoDB 總頁數
    cloudsql.googleapis.com/
    database/mysql/innodb_buffer_pool_pages_total

InnoDB 緩衝區集區中的髒頁、空閒頁和總頁數。InnoDB 緩衝區集區中的中途分頁是指在記憶體中修改,但未寫回磁碟的分頁。InnoDB 緩衝區集區中的空閒頁是指不含任何資料且未使用的頁面。
InnoDB fsync 呼叫

cloudsql.googleapis.com/
database/mysql/innodb_data_fsyncs

InnoDB fsync 作業數量。
InnoDB 記錄 fsync 呼叫

cloudsql.googleapis.com/
database/mysql/innodb_os_log_fsyncs

在 InnoDB 重做記錄檔上執行的 fsync 作業次數。
InnoDB 頁面讀取/寫入次數

cloudsql.googleapis.com/
database/mysql/innodb_pages_read


cloudsql.googleapis.com/
database/mysql/innodb_pages_written
讀取和寫入的 InnoDB 頁面數量。
MySQL 資料表開啟快取

cloudsql.googleapis.com/
database/mysql/open_tables


cloudsql.googleapis.com/
database/mysql/opened_table_count
open_tables 是指目前處於開啟狀態的資料表數量。
opened_table_count 是指自上次取樣後,資料庫開啟的資料表數量。
如果 opened_table_count 的值一貫偏高,建議您提高 table_open_cache 的值。
MySQL 資料表定義快取

cloudsql.googleapis.com/database/
mysql/open_table_definitions


cloudsql.googleapis.com/database/
mysql/opened_table_definitions_count
open_table_definitions 是目前處於開啟狀態的資料表定義數量。opened_table_definitions_count 是指自上次取樣以來,資料庫開啟資料表定義的次數。如果 opened_table_definitions_count 的值一貫偏高,建議您提高 table_definition_cache 的值。
InnoDB 資料字典記憶體用量

cloudsql.googleapis.com/
database/mysql/innodb/dictionary_memory

InnoDB 資料字典快取的記憶體用量。InnoDB 具備專屬快取,可儲存資料庫物件的相關資訊,例如資料表、資料欄、索引和外鍵。table_definition_cache 會針對這個快取中的資料表數量,設下非強制性的限制。不過,在資料庫關閉或重新啟動前,含有外鍵關係的資料表會一直保留在快取中。如果執行個體包含許多有外鍵關係的資料表,這個快取可能會耗用大量記憶體。
依類型顯示的磁碟儲存空間
cloudsql.googleapis.com/
database/disk/bytes_used_by_data_type
執行個體磁碟用量的詳細資料,按照 databinlogtmp_data 等資料類型分類。這項指標可協助您瞭解儲存空間成本。如要進一步瞭解儲存空間使用費,請參閱「儲存空間和網路定價」。

時間點復原 (PITR) 會使用二進位檔記錄。Cloud SQL 會定期產生新的記錄,而這些記錄會使用儲存空間。Cloud SQL 會自動刪除二進位檔記錄和相關聯的自動備份。這通常會在 transactionLogRetentionDays 的保留值設定達到後發生。transactionLogRetentionDays 是 Cloud SQL 保留交易記錄的天數。其值的範圍從 17

為避免使用 PITR 時發生意外的儲存空間問題,建議您啟用自動增加儲存空間功能。

磁碟讀取/寫入作業數量

cloudsql.googleapis.com/
database/disk/read_ops_count


cloudsql.googleapis.com/
database/disk/write_ops_count
read_ops_count 表示磁碟讀取 I/O 作業的數量變化。您可以使用這項指標瞭解執行個體是否適合環境所需的大小。如有需要,您可以切換至較大的機器類型,以便從快取中提供更多要求,並縮短延遲時間。

write_ops_count 表示磁碟寫入 I/O 作業的差異計數。除了備用資源外,Cloud SQL 執行個體會大約每秒寫入系統資料表。
Cloud Logging

logging.googleapis.com/
log_entry_count
顯示錯誤和警告的記錄項目總數。

詳情請參閱「Cloud SQL 指標」。

事件時間軸

資訊主頁會提供下列事件的詳細資料:

事件名稱說明作業類型
Instance restart 重新啟動 Cloud SQL 執行個體 RESTART
Instance failover 將高可用性 (HA) 主要執行個體手動容錯移轉至待命執行個體,該執行個體會成為主要執行個體。 FAILOVER
Instance maintenance 表示執行個體目前處於維護狀態。維護作業通常會導致執行個體無法使用 1 到 3 分鐘。 MAINTENANCE
Instance backup 執行執行個體備份。 BACKUP_VOLUME
Instance update 更新 Cloud SQL 執行個體的設定。 UPDATE
Promote replica 將 Cloud SQL 備用資源執行個體升級為主要執行個體。 PROMOTE_REPLICA
Start replica 在 Cloud SQL 唯讀備用資源執行個體上啟動複製作業。 START_REPLICA
Stop replica 停止 Cloud SQL 唯讀備用資源執行個體的複製作業。 STOP_REPLICA
Recreate replica 重新建立 Cloud SQL 複本執行個體的資源。 RECREATE_REPLICA
Create replica 建立 Cloud SQL 備用資源執行個體。 CREATE_REPLICA
Data import 將資料匯入 Cloud SQL 執行個體。 IMPORT
Instance export 將資料從 Cloud SQL 執行個體匯出至 Cloud Storage 值區。 EXPORT
Restore backup 還原 Cloud SQL 執行個體的備份。這項作業可能會導致執行個體重新啟動。 RESTORE_VOLUME

後續步驟