本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
監控 Aurora PostgreSQL 的查詢執行計劃和尖峰記憶體
您可以在 Aurora PostgreSQL 資料庫執行個體中監控查詢執行計劃,以偵測造成目前資料庫負載的執行計劃,並使用 aurora_compute_plan_id 參數追蹤執行計劃隨時間的效能統計資料。每當查詢執行時,查詢使用的執行計劃都會獲指派識別符,而相同計劃的後續執行也會使用相同的識別符。
根據預設,aurora_compute_plan_id 會在 Aurora PostgreSQL 14.10、15.5 版和更新版本的資料庫參數群組中設定為 OFF。若要指派計劃識別符,請在參數群組中將 aurora_compute_plan_id 設定為 ON。
此計劃識別符用於數個提供不同用途的公用程式。
您可以監控資料庫執行個體中的查詢尖峰記憶體用量,以偵測從下列版本導致高資料庫記憶體用量的查詢:
16.3 版和所有更新版本
15.7 和更新版本
14.12 和更新版本
每當查詢執行時,系統都會追蹤查詢所使用的尖峰記憶體。查詢通常會執行多次;每個查詢都可以檢視所有執行的平均、最小和最大記憶體用量值。
使用 Aurora 函數存取查詢執行計劃和尖峰記憶體
透過 aurora_compute_plan_id,您可以使用下列函數存取執行計劃:
aurora_stat_activity
aurora_stat_plans
查詢尖峰記憶體不包含查詢處理開始之前配置的記憶體。針對每個查詢的規劃和執行階段,系統會分別追蹤和報告尖峰記憶體用量。
您可以使用下列函數來存取查詢尖峰記憶體統計資料。
aurora_stat_statements
aurora_stat_plans
如需這些函數的詳細資訊,請參閱 Aurora PostgreSQL 函數參考。
Aurora PostgreSQL 查詢執行計劃的參數參考
您可以使用資料庫參數群組中的下列參數來監控查詢執行計劃。
參數
注意
aurora_stat_plans.with_* 參數的組態只會對新擷取的計劃生效。
aurora_compute_plan_id
aurora_compute_plan_id 是組態參數,可控制是否在查詢執行期間指派計劃識別符。
| 預設 | 允許的值 | 描述 |
|---|---|---|
| off | 0 (關閉) | 設定為 off 以防止指派計劃識別符。 |
| 1 (開啟) | 設定為 on 以指派計劃識別符。 |
aurora_stat_plans.minutes_until_recapture
計劃重新擷取之前要經過的分鐘數。預設為 0,這會停用重新擷取計劃。超過 aurora_stat_plans.calls_until_recapture 閾值時,將會重新擷取計劃。
| 預設 | 允許的值 | 描述 |
|---|---|---|
| 0 | 0-1073741823 | 設定計劃重新擷取之前要經過的分鐘數。 |
aurora_stat_plans.calls_until_recapture
重新擷取計劃之前對計劃的呼叫次數。預設值為 0,這會停用在多次呼叫後重新擷取計劃。超過 aurora_stat_plans.minutes_until_recapture 閾值時,將會重新擷取計劃。
| 預設 | 允許的值 | 描述 |
|---|---|---|
| 0 | 0-1073741823 | 設定重新擷取計劃之前的呼叫次數。 |
aurora_stat_plans.with_costs
使用預估成本擷取 EXPLAIN 計劃。允許的值為 on 和 off。預設值為 on。
| 預設 | 允許的值 | 描述 |
|---|---|---|
| on | 0 (關閉) | 不會顯示每個計劃節點的預估成本和資料列。 |
| 1 (開啟) | 顯示每個計劃節點的預估成本和資料列。 |
aurora_stat_plans.with_analyze
使用 ANALYZE 控制 EXPLAIN 計劃。此模式只會在第一次擷取計劃時使用。允許的值為 on 和 off。預設值為 off。
| 預設 | 允許的值 | 描述 |
|---|---|---|
| off | 0 (關閉) | 不包含計劃的實際執行時間統計資料。 |
| 1 (開啟) | 包括計劃的實際執行時間統計資料。 |
aurora_stat_plans.with_timing
使用 ANALYZE 時,計劃時間將在解釋中擷取。預設值為 on。
| 預設 | 允許的值 | 描述 |
|---|---|---|
| on | 0 (關閉) | 不包含實際啟動時間和在每個計劃節點中花費的時間。 |
| 1 (開啟) | 包括實際啟動時間和在每個計劃節點中花費的時間。 |
aurora_stat_plans.with_buffers
使用 ANALYZE 時,計劃緩衝區用量統計資料將在解釋中擷取。預設值為 off。
| 預設 | 允許的值 | 描述 |
|---|---|---|
| off | 0 (關閉) | 不包含緩衝區用量的相關資訊。 |
| 1 (開啟) | 包含緩衝區用量的相關資訊。 |
aurora_stat_plans.with_wal
使用 ANALYZE 時,計劃 WAL 用量統計資料將在解釋中擷取。預設值為 off。
| 預設 | 允許的值 | 描述 |
|---|---|---|
| off | 0 (關閉) | 不包含 WAL 記錄產生的資訊。 |
| 1 (開啟) | 包含 WAL 記錄產生的資訊。 |
aurora_stat_plans.with_triggers
使用 ANALYZE 時,計劃觸發程序執行統計資料將在解釋中擷取。預設值為 off。
| 預設 | 允許的值 | 描述 |
|---|---|---|
| off | 0 (關閉) | 不包含觸發程序執行統計資料。 |
| 1 (開啟) | 包含觸發程序執行統計資料。 |