如要近乎即時地偵測、排解及預防資料庫和查詢效能問題,可以使用 AlloyDB for PostgreSQL 的進階查詢洞察功能。除了標準查詢洞察的所有功能外,這些功能還提供更強大的查詢效能診斷。如要瞭解如何設定及使用這些功能,請參閱「使用進階查詢洞察功能提高查詢效能」。
根據過去 30 天的查詢洞察資料,您可以監控應用程式層級的查詢效能,並依動作、控制器、架構、路徑、應用程式和資料庫驅動程式,追蹤整個應用程式堆疊中有問題的查詢來源。進階查詢洞察功能會擷取所有查詢的查詢計畫,預設每分鐘最多可擷取 20 個查詢計畫樣本。您可以設定取樣率,每分鐘最多擷取 200 個查詢計畫。
為協助您主動找出並解決查詢效能問題的根本原因,進階查詢洞察功能可讓您執行下列操作:
- 使用近乎即時的查詢統計資料,以及使用者、主機和資料庫等多個維度的關聯分析,執行臨時分析來診斷棘手問題。
- 使用完整的 SQL 陳述式和隨附註解,查看查詢執行計畫。您可以選擇查看與查詢相關的註解 (如適用)。
- 分析等待事件等遙測資料,排解複雜的效能問題。「等待事件」是導致查詢相關作業處理延遲的元件。等待事件指標預設為啟用,可協助您診斷及偵錯長時間執行的查詢,以及相關等待時間的效能問題。
- 查看索引建議工具提供的建議,瞭解如何建立索引。
- 調整查詢洞察設定。例如,您可以自訂查詢長度、啟用等待事件分析,以及儲存查詢註解和應用程式標記。您可以存取歷來和近乎即時的資料。
- 分析最多 30 天的資料,瞭解長期成效。
進階查詢洞察功能的優點
下列進階查詢洞察功能可協助您偵測及修正查詢效能問題:
- 預先建構的資訊主頁可協助您及早找出查詢效能問題,並在 Google Cloud 控制台的單一頁面中找出、診斷及解決問題。
- 視覺化查詢計畫,協助您找出根本原因並排解問題。您可以透過情境式端對端應用程式追蹤,追蹤有問題的查詢來源。
- 根據 Google Cloud的企業安全性、隱私權和法規遵循服務提供洞察資料,可能有助於降低營運負擔。
- 以應用程式為中心的監控功能,可簡化使用物件關聯對應器 (ORM) 建構的應用程式效能診斷。您可以使用商業邏輯標記查詢,從應用程式的角度監控資料庫效能。Sqlcommenter 是一個開放原始碼程式庫,可自動檢測 ORM,協助找出導致效能問題的應用程式程式碼。
進階查詢洞察功能的運作方式
進階查詢洞察功能為全代管,因此您不必安裝或主動管理。
進階查詢洞察功能會載入擴充功能,記錄使用掛鉤實作的查詢指標和執行計畫。指標會儲存在 AlloyDB 資料表中,正規化執行計畫則會儲存在 Cloud Trace。
您可以在 Google Cloud 控制台的 AlloyDB 查詢洞察頁面中查看這些指標。查詢完成後,指標預計會在 30 秒內顯示於進階查詢洞察功能。指標的靜態資料加密方式與資料庫儲存空間相同。
進階查詢洞察功能只會儲存及顯示正規化查詢。查詢字串中的所有常數值都會移除。查詢註解只會依需求保留,這是一項選擇加入功能。查詢計畫追蹤記錄不會收集及儲存常數值。
儲存空間
進階查詢洞察功能只會儲存及顯示正規化查詢。查詢字串中的所有常數值都會移除。查詢計畫追蹤記錄不會收集及儲存任何常數值。根據預設,進階查詢洞察功能不會收集標記資訊。如果之後啟用,則可透過各執行個體的進階查詢洞察功能設定停用。
「查詢洞察」資訊主頁會提供 30 天的資料。30 天的資料儲存空間需求,主要執行個體約為 180 GB (叢集最多 700 GB)。進階查詢洞察功能最多會使用 10 MB 的 RAM (共用記憶體)。查詢完成後,指標預計會在 30 秒內顯示在洞察中。此外,Cloud Monitoring 的系統指標也提供標準查詢洞察指標,可完整保留標準查詢洞察的功能。如要進一步瞭解 Cloud Monitoring 系統指標保留政策,請參閱「資料保留」。
進階查詢洞察功能的追蹤記錄會儲存在 Cloud Trace,保留期限為 30 天。如要進一步瞭解 Cloud Trace 資料保留政策,請參閱「配額與限制」。
限制
- 進階查詢洞察功能提供的指標無法透過 Cloud Monitoring API 取得。
- 不支援用戶端 IP 位址。
- 您無法在次要叢集啟用進階查詢洞察功能。
- AlloyDB 會儲存主要和讀取集區執行個體的查詢洞察資料,保留期限為 30 天。主要執行個體儲存資料會耗用約 180 GB,且可能會隨著叢集中的讀取集區節點數量增加。儲存空間用量上限為 700 GB。
- 您必須先在主要執行個體上啟用進階查詢洞察功能,才能在讀取集區執行個體上啟用。
- 啟用進階查詢洞察功能後,查詢洞察資訊主頁會重設。不過,您仍可使用 Metrics Explorer 查看標準查詢洞察指標。
後續步驟
- 使用查詢洞察提高查詢效能。
- 瞭解 AlloyDB 指標。