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

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

查看「系統洞察」資訊主頁

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

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

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

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

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

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

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

  1. 執行個體詳細資料

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

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

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

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

  • 如要建立自訂資訊主頁,請按一下「 編輯模式」。
  • 如要讓資訊主頁保持最新狀態,請啟用 「Auto Refresh」(自動重新整理) 選項。啟用「Auto Refresh」(自動重新整理) 後,資訊主頁資料每分鐘都會更新。這項功能不適用於自訂時間範圍。

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

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

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

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

摘要資訊卡

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

摘要資訊卡說明
CPU 使用率 - P50 P50 CPU 使用率值。
CPU 使用率 - P99 P99 CPU 使用率值。
磁碟使用率 最新的磁碟使用率值。
緩衝區快取命中率 可在緩衝區快取中找到,無須從磁碟讀取的頁面數量百分比。

指標圖表

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

顯示 Cloud SQL 指標資料範例的圖表。
顯示指標資料的指標圖表。

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

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

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

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

    • 如要以全螢幕模式查看圖表,請按一下「View in full screen」(以全螢幕模式查看)。如要退出全螢幕模式,請按一下「Cancel」(取消)。

    • 隱藏或收合圖例。

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

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

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

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

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

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

預設指標

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

指標類型字串會採用下列其中一種前置字元:

  • cloudsql.googleapis.com/database/
  • cloudsql.googleapis.com/per_database/

指標會依類別分組:

資源使用率

指標名稱和類型說明
CPU 使用率
database/cpu/utilization

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

記憶體用量
database/memory/usage

RAM 用量 (以位元組為單位)。

記憶體總用量
database/memory/total_usage

RAM 總用量 (以位元組為單位)。

已使用的位元組數
database/disk/bytes_used

資料用量 (以位元組為單位)。

磁碟配額
database/disk/quota

資料磁碟大小上限 (以位元組為單位)。

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

執行個體磁碟用量的詳細資料,按照 Data、pitr_transaction_log_backups、Logs、error_logs、memory_dumps 和 Other 等資料類型分類。這項指標有助於瞭解儲存費用。如要進一步瞭解儲存空間用量費用,請參閱「儲存空間和網路定價」。

Cloud SQL 會使用交易記錄備份進行時間點復原 (PITR)。PITR 的交易記錄儲存在磁碟時,會使用儲存空間 (回報於 pitr_transaction_log_backups),並在達到 transactionLogRetentionDays 設定的保留期限後,與相關聯的自動備份一併自動刪除。transactionLogRetentionDays 是 Cloud SQL 保留 PITR 交易記錄的天數,Cloud SQL Enterprise Plus 版本為 1 到 35 天,Cloud SQL Enterprise 版本則為 1 到 7 天。如果執行個體將交易記錄儲存在 Cloud Storage,記錄會儲存在與主要執行個體相同的區域,且不會耗用執行個體磁碟空間。

如要在使用 PITR 時避免記錄儲存在磁碟上而發生非預期的儲存空間問題,建議您啟用自動增加儲存空間功能。

磁碟讀取 I/O
database/disk/read_ops_count

自上次回報指標以來,資料磁碟讀取 I/O 作業數量的變化。每 60 秒取樣一次。

磁碟寫入 I/O
database/disk/write_ops_count

自上次回報指標以來,資料磁碟寫入 I/O 作業數量的變化。每 60 秒取樣一次。

已接收的位元組數
database/network/received_bytes_count

與上次回報的指標相比,透過網路接收的位元組數變化。每 60 秒取樣一次。

傳送的位元組數
database/network/sent_bytes_count

與上次回報的指標相比,透過網路傳送的位元組數變化。每 60 秒取樣一次。

記憶體

指標名稱和類型說明
緩衝區快取命中率
database/sqlserver/memory/buffer_cache_hit_ratio

可在緩衝區快取中找到,無須從磁碟讀取的頁面數量百分比。比率的計算方式是將快取命中總數除以快取查詢總數。

記憶體授予作業待處理
database/sqlserver/memory/memory_grants_pending

目前正在等待工作區記憶體授予作業的程序數量。

免費產品資訊停滯
database/sqlserver/memory/free_list_stall_count

等待可用頁面的要求總數。

已換進的頁數
database/swap/pages_swapped_in_count

系統啟動後,從磁碟換進的總頁數。

已換出的頁數
database/swap/pages_swapped_out_count

系統啟動後,從磁碟換出的總頁數。

查核點頁面
database/sqlserver/memory/checkpoint_page_count

由查核點或其他需要排清所有已變更頁面的作業,排清至磁碟的總頁數。

延遲寫入
database/sqlserver/memory/lazy_write_count

緩衝區管理員的延遲寫入器寫入的緩衝區總數。延遲寫入器是一種系統程序,會清除一批批已變更的舊緩衝區 (緩衝區包含必須寫回磁碟的變更,才能重複用於其他頁面),並提供給使用者程序使用。

頁面預期壽命
database/sqlserver/memory/page_life_expectancy

未經使用的頁面會保留在緩衝區集區的秒數。

頁面作業
database/sqlserver/memory/page_operation_count

實體資料庫頁面讀取或寫入的總次數。這項統計資料會計算所有資料庫的實體頁面讀取或寫入次數。

頁面分割
database/sqlserver/transaction/page_split_count

索引頁面溢位後產生的頁面分割總數。

引擎記憶體
database/sqlserver/memory/committed_kb

database/sqlserver/memory/committed_target_kb

SQL Server 記憶體管理工具中已認可的記憶體,以 KB 為單位。已承諾 (committed_kb) 是記憶體管理工具承諾的記憶體容量,不含保留記憶體。Committed Target (committed_target_kb) 是記憶體管理員可以使用的記憶體量。

如果「已承諾的目標」大於「已承諾」,記憶體管理工具會嘗試取得更多記憶體。如果「Committed Target」小於「Committed」,記憶體管理工具會嘗試縮減已承諾的記憶體量。

效能

指標名稱和類型說明
死結
database/sqlserver/transaction/deadlock_count

導致死鎖的鎖定要求總數。

交易開始
database/sqlserver/transaction/transaction_count

已開始的交易總數。

批次要求
database/sqlserver/transaction/batch_request_count

收到的 Transact-SQL 指令批次總數。

SQL 編譯
database/sqlserver/transaction/sql_compilation_count

SQL 編譯總數。

SQL 重新編譯
database/sqlserver/transaction/sql_recompilation_count

SQL 重新編譯的總數。

已封鎖的程序
database/sqlserver/connections/processes_blocked

目前遭封鎖的程序數量。

鎖定等待時間
database/sqlserver/transactions/lock_wait_time

鎖定要求等待鎖定的總時間。

鎖定等待時間
database/sqlserver/transactions/lock_wait_count

需要呼叫端等待的鎖定要求總數。

等待時間
database/sqlserver/wait_time

每秒等待的時間。

根據預設,資訊主頁會按照等候類別將這項指標分組。您也可以依等待類型分組。

等待次數
database/sqlserver/wait_count

每秒等待次數。

根據預設,資訊主頁會依據等待類別將這項指標分組。您也可以依等待類型分組。

平均批次執行時間
database/sqlserver/transactions/batch_requests_elapsed_time

database/sqlserver/transactions/batch_requests_elapsed_time_count

執行 Transact-SQL 指令批次的平均時間 (以毫秒為單位)。計算方式是將已完成批次要求的總耗用時間,除以已完成批次要求的數量。

平均批次執行 CPU 作業時間
database/sqlserver/transactions/batch_requests_cpu_time

database/sqlserver/transactions/batch_requests_cpu_time_count

執行 Transact-SQL 指令批次的平均 CPU 作業時間 (以毫秒為單位)。這項值的計算方式,是將已完成批次要求的 CPU 作業時間總和,除以已完成批次要求的數量。

複製

指標名稱和類型說明
複製作業顯示延遲
per_database/sqlserver/replication/delay

主要執行個體上最近一次提交交易的時間,與唯讀副本上最近一次重做交易的提交時間之間的時間差 (以秒為單位)。

注意:只有在執行個體是具有唯讀副本或讀取集區的主要執行個體,或是執行個體是唯讀副本或位於讀取集區時,這個指標才會顯示在資訊主頁上。

預估的資料遺失期間
per_database/sqlserver/replication/seconds_behind_master

最早強化的記錄序號 (LSN) 在主要執行個體上強化,但在唯讀副本上還未強化的秒數。執行容錯移轉或升級副本時,請選擇這項指標值最低的副本,盡可能減少資料遺失。

注意:只有在執行個體是具有唯讀副本或讀取集區的主要執行個體,或是執行個體是唯讀副本或位於讀取集區時,這個指標才會顯示在資訊主頁上。

重做佇列大小
per_database/sqlserver/replication/redo_queue_size

唯讀副本記錄檔中尚未重做的記錄數量。

注意:只有在執行個體是具有唯讀副本或讀取集區的主要執行個體,或是執行個體是唯讀副本或位於讀取集區時,這個指標才會顯示在資訊主頁上。

記錄傳送佇列大小
per_database/sqlserver/replication/logsend_queue_size

主要資料庫記錄檔中,尚未傳送至唯讀副本的記錄總大小。

注意:只有在執行個體是具有唯讀副本或讀取集區的主要執行個體,或是執行個體是唯讀副本或位於讀取集區時,資訊主頁才會顯示這項指標。

其他

指標名稱和類型說明
Cloud SQL 連線
database/network/connections

Cloud SQL 執行個體上的資料庫連線數量。

嘗試登入
database/sqlserver/connections/login_attempt_count

上次重新啟動 SQL Server 服務後的登入嘗試總數。這不包括集區連線。

登出
database/sqlserver/connections/logout_count

上次重新啟動 SQL Server 服務後,登出作業的總數。

連線重設
database/sqlserver/connections/connection_reset_count

上次重新啟動 SQL Server 服務後,從連線集區啟動的登入總數。

記錄項目
log_entry_count

直接寫入或透過專案接收器轉送至這項專案,並儲存在至少一個記錄檔 bucket 中的記錄項目數量。根據預設,記錄項目會儲存 30 天。排除的記錄不會計入。

完整掃描
database/sqlserver/transactions/full_scan_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

後續步驟