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

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

您可以使用 Gemini in Databases 輔助功能,觀察及排解 PostgreSQL 適用的 Cloud SQL 資源問題。詳情請參閱「透過 Gemini 輔助功能觀察及排解問題」。

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

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

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

    前往 Cloud SQL 執行個體

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

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

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

資訊主頁圖片,顯示主要指標圖表。
圖 2. 資訊主頁圖片,顯示主要指標的指標圖表。 

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

  1. 執行個體詳細資料

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

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

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

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

  • 每列可顯示一或兩個圖表。按一下「自訂檢視畫面」,選擇這些圖表的顯示方式。您也可以使用這個選項,選擇要在資訊主頁上顯示的指標。
  • 如要讓資訊主頁保持最新狀態,請啟用「自動重新整理」選項 。啟用「自動重新整理」後,資訊主頁資料會每分鐘更新一次。這項功能不適用於自訂時間範圍。

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

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

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

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

摘要資訊卡

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

摘要資訊卡說明
CPU 使用率 - P99 | P50 所選期間的 P99 和 P50 CPU 使用率值。
尖峰連線數量 所選期間內尖峰連線數量與最大連線數量的比率。 如果最近變更了連線數上限 (例如執行個體擴充或手動變更 max_connections 設定),連線數峰值可能會高於上限。
交易 ID 使用率 所選期間內最新的交易 ID 使用率值。
磁碟使用率 最新的磁碟使用率值。
記錄檔錯誤 使用者記錄的錯誤數量。

指標圖表

範例指標的圖表資訊卡如下所示。

圖表:顯示 Cloud SQL 指標資料範例。
指標圖表,顯示查詢延遲時間指標。

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

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

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

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

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

    • 隱藏或收合圖例。

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

    • 在 Metrics Explorer 中查看。在 Metrics Explorer 中查看指標。 選取「Cloud SQL Database」(Cloud SQL 資料庫) 資源類型後,即可在 Metrics Explorer 中查看其他 Cloud SQL 指標。

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

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

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

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

預設指標

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

指標類型字串會遵循下列前置字元:cloudsql.googleapis.com/database/

如要瞭解下列指標的最新發布階段,請參閱Google Cloud 指標

指標名稱和類型說明
每秒新增連線數
postgresql/new_connection_count

您在 PostgreSQL 適用的 Cloud SQL 執行個體中建立新連線的速率,以每秒建立的數量呈現。Cloud SQL 會計算並顯示每個資料庫的這項指標。

這項指標適用於 PostgreSQL 14 以上版本。

等候事件類型
postgresql/backends_in_wait

Cloud SQL for PostgreSQL 執行個體中,各個等候事件類型的連線數量。

等待事件
postgresql/backends_in_wait

PostgreSQL 適用的 Cloud SQL 執行個體中的等候事件數量。 資訊主頁會將這項指標顯示為「等待事件名稱」:「等待事件類型」

交易次數
postgresql/transaction_count

PostgreSQL 適用的 Cloud SQL 執行個體中,處於 commitrollback 狀態的交易數量。

記憶體元件
memory/components

資料庫可用的記憶體元件。每個記憶體元件的值都是以資料庫可用總記憶體的百分比計算。

備用資源最長延遲時間 (以位元組為單位)
postgresql/external_sync/max_replica_byte_lag

外部伺服器 (ES) 備用資源中,所有資料庫之間的最大複製延遲時間 (以位元組為單位)。

查詢延遲
postgresql/insights/aggregate/latencies

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

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

每個資料庫/使用者/用戶端位址的資料庫負載
postgresql/insights/aggregate/execution_time

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

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

CPU 使用率
cpu/utilization

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

依類型顯示的磁碟儲存空間
disk/bytes_used_by_data_type

執行個體磁碟用量的詳細資料,按照 databinlogtmp_data 等資料類型分類。

這項指標有助於瞭解儲存空間費用。如要進一步瞭解儲存空間用量費用,請參閱儲存空間和網路定價

時間點復原 (PITR) 會使用預先寫入記錄檔 (WAL) 歸檔。這些記錄會定期更新,並占用儲存空間。系統會自動刪除預先寫入記錄檔和相關聯的自動備份檔,通常會在 7 天後執行這項操作。

如果預先寫入記錄的大小導致執行個體發生問題,您可以增加儲存空間大小,但預先寫入記錄在磁碟用量中增加的大小可能只是暫時的。為避免發生意想不到的儲存空間問題,Google 建議您在使用 PITR 時啟用自動增加儲存空間

如要刪除記錄並回收儲存空間,可以停用時間點復原功能。但是請注意,減少使用的儲存空間並不會縮小為執行個體佈建的儲存空間大小。

儲存空間用量指標會計入暫時資料。系統會在維護期間移除暫時資料,且允許資料量超出使用者定義的容量限制,以免發生磁碟空間不足事件,使用者無需支付任何費用。

新建的資料庫會使用大約 100 MB 的空間存放系統資料表和檔案。

依類型顯示的磁碟儲存空間
disk/bytes_used_by_data_type

執行個體磁碟用量的詳細資料,按照 databinlogtmp_data 等資料類型分類。

這項指標有助於瞭解儲存空間費用。如要進一步瞭解儲存空間用量費用,請參閱儲存空間和網路定價

時間點復原功能會使用預先寫入記錄 (WAL) 歸檔。對於啟用時間點復原功能的新 Cloud SQL 執行個體,或是啟用這項功能後,將 WAL 記錄檔儲存在 Cloud Storage 的現有執行個體,記錄檔將不再儲存在磁碟上,而是儲存在與執行個體位於相同區域的 Cloud Storage 中。

如要查看執行個體的記錄是否儲存在 Cloud Storage 中,請檢查執行個體的 bytes_used_by_data_type 指標。如果 archived_wal_log 資料類型的值為 0,執行個體的記錄檔會儲存在 Cloud Storage 中。

如果其他現有執行個體已啟用時間點復原功能,系統仍會將這些執行個體的記錄儲存在磁碟上。日後我們將開放這項功能,讓您將記錄儲存在 Cloud Storage 中。

時間點還原功能使用的預先寫入記錄會與相關聯的自動備份一併自動刪除,通常會在達到 transactionLogRetentionDays 設定的值後發生。這是 Cloud SQL 為時間點復原作業保留交易記錄的天數,範圍為 1 到 7 天。

如果執行個體的預先寫入記錄儲存在 Cloud Storage 中,記錄會儲存在與主要執行個體相同的區域。這項記錄儲存功能 (最多七天,即時間點還原功能的最長期限) 不會為每個執行個體產生額外費用。

如果執行個體已啟用時間點復原功能,且磁碟上的預先寫入記錄大小導致執行個體發生問題,請停用時間點復原功能,然後重新啟用,確保新記錄儲存在與執行個體相同的 Cloud Storage 區域。這會刪除現有的預先寫入記錄檔,因此您無法執行時間點還原,還原時間點必須晚於重新啟用時間點復原功能的時間。不過,雖然現有記錄會遭到刪除,但磁碟大小維持不變。

為避免發生意料之外的儲存空間問題,建議您在使用時間點還原功能時,為所有執行個體啟用自動增加儲存空間。這項建議僅適用於已啟用時間點復原功能的執行個體,且記錄檔儲存在磁碟上。

如要刪除記錄並回收儲存空間,可以停用時間點復原功能。但請注意,減少使用的預先寫入記錄不會縮減為執行個體佈建的磁碟大小。

儲存空間用量指標會計入暫時資料。系統會在維護期間移除暫時資料,且允許資料量超出使用者定義的容量限制,以免發生磁碟空間不足事件,使用者無需支付任何費用。

新建的資料庫會使用大約 100 MB 的空間存放系統資料表和檔案。

磁碟讀取/寫入作業數量
disk/read_ops_countdisk/write_ops_count

「讀取次數」指標代表磁碟提供的讀取作業次數,其並非來自快取。您可以根據這項指標,判斷執行個體的大小是否適合您的環境。如有需要,您可以改用較大的機器類型,從快取提供更多要求,並縮短延遲時間。

「寫入次數」指標代表磁碟的寫入作業次數。即使應用程式未處於活動狀態,系統仍會產生寫入活動,因為 Cloud SQL 執行個體 (備用資源除外) 大約每秒都會寫入系統資料表。

連線數量 (按照狀態顯示)
postgresql/num_backends_by_state

按以下狀態分類的連線數量:idleactiveidle_in_transactionidle_in_transaction_aborteddisabledfastpath_function_call

如要瞭解這些狀態,請參閱 state textpg_stat_activity 說明文件中的資料列。

每個資料庫的連線
postgresql/num_backends

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

輸入/輸出位元組數
network/received_bytes_countnetwork/sent_bytes_count

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

按類型細分的 I/O 等待
postgresql/insights/aggregate/io_time

SQL 陳述式的 I/O 等待時間細目,按照讀取和寫入類型分類。

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

不同資料庫的死結數
postgresql/deadlock_count

每個資料庫的死結數量。

區塊讀取數量
postgresql/blocks_read_count

從磁碟與緩衝區快取每秒讀取的區塊數量。

不同作業處理的資料列數
postgresql/tuples_processed_count

各項作業每秒處理的資料列數。

不同狀態的資料庫列數量
postgresql/tuple_size

每個資料庫狀態的資料列數。如果執行個體中的資料庫數量少於 50 個,Cloud SQL 就會回報這項指標。

存在時間最長的交易
postgresql/vacuum/oldest_transaction_age

阻擋 vacuum 作業的最舊交易存在時間。

WAL 封存
replication/log_archive_success_count, replication/log_archive_failure_count

每分鐘封存成功或失敗的預先寫入記錄檔數量。

交易 ID 使用率
postgresql/transaction_id_utilization

執行個體中使用的交易 ID 百分比。

各應用程式的連線數量 (按應用程式名稱顯示)
postgresql/num_backends_by_application

Cloud SQL 執行個體的連線數量 (按照應用程式分類)。

不含應用程式名稱的連線會歸類為「不明」Unknown

比較擷取、傳回和寫入的資料列數
  • 擷取的列數: postgresql/tuples_fetched_count
  • 傳回的列數: postgresql/tuples_returned_count
  • 已寫入列數: postgresql/tuples_processed_count
  • 擷取的資料列數是在執行個體因查詢而擷取到的資料列數。
  • 傳回的資料列數是處理執行個體中的查詢時掃描的資料列數。
  • 寫入的列數是在執行插入、更新和刪除作業時,在執行個體中寫入的列數。

如果傳回的資料列和擷取的資料列之間的差異過大,導致兩者的值無法以相同比例顯示,則擷取的資料列值會顯示為 0,因為相較於傳回的資料列值,這個值微不足道。

暫存資料大小
postgresql/temp_bytes_written_count

執行查詢和演算法 (如彙整和排序等) 時耗用的資料總量,以位元組為單位。

暫存檔案
postgresql/temp_files_written_count

用於執行查詢和演算法 (如彙整和排序等) 的暫存檔案數量。

此外,Cloud Logging 指標「記錄項目數量,依嚴重性區分」 (logging.googleapis.com/log_entry_count) 會顯示錯誤和警告記錄項目的總數。

這些記錄項目擷取自資料庫記錄檔 postgres.log,以及含有資料存取資訊的 pgaudit.log

詳情請參閱「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 bucket。 EXPORT
Restore backup 還原 Cloud SQL 執行個體的備份。這項作業可能會導致執行個體重新啟動。 RESTORE_VOLUME

後續步驟