監控 Aurora Postgre 的查詢執行計劃和峰值記憶體SQL - Amazon Aurora

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

監控 Aurora Postgre 的查詢執行計劃和峰值記憶體SQL

您可以在 Aurora PostgreSQL 資料庫執行個體中監控查詢執行計畫,以偵測有助於目前資料庫載入的執行計畫,並使用 aurora_compute_plan_id 參數追蹤執行計畫隨時間的效能統計資料。每當查詢執行時,查詢所使用的執行計畫都會指派識別符,而相同計畫的後續執行也會使用相同的識別符。

根據OFF預設, aurora_compute_plan_id 會在資料庫參數群組中,從 Aurora PostgreSQL 14.10、15.5 版及更新版本中開啟。若要指派計劃識別符,請在 參數群組ONaurora_compute_plan_id將 設為 。

此計劃識別符用於數個公用程式,其用途不同。

您可以監控資料庫執行個體中的查詢尖峰記憶體用量,以偵測導致資料庫記憶體使用量過高的查詢,其版本如下:

  • 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計劃。允許的值為 onoff。預設值為 on

預設 允許的值 描述
on 0 (關閉)

不會顯示每個計劃節點的預估成本和資料列。

1 (開啟)

顯示每個計劃節點的預估成本和資料列。

aurora_stat_plans.with_analyze

使用 控制EXPLAIN計劃ANALYZE。此模式只會在第一次擷取計劃時使用。允許的值為 onoff。預設值為 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 (開啟)

包括觸發程序執行統計資料。