共用方式為


適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器的查詢效能深入解析 (部分機器翻譯)

適用範圍:適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器

查詢效能深入解析為適用於 PostgreSQL 的 Azure 資料庫彈性伺服器資料庫提供智慧型查詢分析。 其有助於識別您的工作負載中最高資源取用和長時間執行的查詢。 這可協助您尋找查詢,以優化以改善整體工作負載效能,並有效率地使用您支付的資源。 查詢效能深入解析提供了下列各項,能協助您以較少的時間來對資料庫效能進行疑難排解:

  • 識別長時間執行的查詢,以及它們隨著時間變更的情況。
  • 判斷影響這些查詢的等候類型。
  • 依呼叫 (執行計數)、資料使用量、IOPS 和暫存檔使用量排列的前幾名資料庫查詢相關詳細資料 (效能改進的可能微調候選項目)。
  • 能夠向下切入查詢的詳細資料,以檢視查詢識別碼和資源使用量的歷程記錄。
  • 深入了解整體資料庫資源取用量。

必要條件

  1. 資料庫上已啟用查詢存放區。 如果 查詢存放區 未執行,Azure 入口網站 會提示您啟用它。 若要開啟查詢存放區,請參閱這裡

注意

查詢存放區目前已停用。 查詢效能深入解析取決於查詢存放區資料。 您必須將動態伺服器參數 pg_qs.query_capture_mode 設定為 ALLTOP 加以啟用。

  1. 資料庫已啟用查詢存放區等候取樣。 如果 查詢存放區 等候取樣未執行,Azure 入口網站 會提示您啟用它。 若要啟用查詢存放區等候取樣,請參閱這裡

注意

查詢存放區等候取樣目前已停用。 查詢效能深入解析取決於查詢存放區等候取樣資料。 您必須將動態伺服器參數 pgms_wait_sampling.query_capture_mode 設定為 ALL 來啟用它。

  1. Log Analytics 工作區 已設定為儲存 3 個記錄類別,包括 - 適用於 PostgreSQL 的 Azure 資料庫彈性伺服器工作階段記錄、適用於 PostgreSQL 的 Azure 資料庫彈性伺服器查詢存放區和執行階段,以及適用於 PostgreSQL 的 Azure 資料庫彈性伺服器查詢存放區等候統計資料。 若要設定記錄分析,請參閱 Log Analytics 工作區

注意

查詢存放區 數據不會傳輸至記錄分析工作區。 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器記錄(會話數據/查詢存放區 運行時間/查詢存放區 等候統計數據)不會傳送至記錄分析工作區,這是使用查詢效能深入解析的必要條件。 若要設定 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器的診斷設定,並將數據傳送至記錄分析工作區,請參閱設定和存取 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器中的記錄。

權限

您需要指派給 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器的下列 Azure 角色型存取控制 (Azure RBAC) 許可權,才能使用查詢效能深入解析:

  • Microsoft.DBforPostgreSQL/flexibleServers/configurations/read
  • Microsoft.DBforPostgreSQL/flexibleServers/providers/Microsoft.Insights/diagnosticSettings/read
  • Microsoft.DBforPostgreSQL/flexibleServers/read
  • Microsoft.Insights/Components/read
  • Microsoft.Insights/DiagnosticSettings/read
  • Microsoft.Insights/DiagnosticSettingsCategories/read
  • Microsoft.Insights/Logs/AzureDiagnostics/read
  • Microsoft.Insights/Logs/read

使用查詢效能深入解析

Azure 入口網站 中的查詢效能深入解析檢視會顯示來自 查詢存放區 重要資訊的視覺效果。 「查詢效能深入解析」很容易使用︰

  1. 開啟 Azure 入口網站,尋找您想要檢查的適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體。

  2. 從左側功能表中,開啟 [智慧效能>查詢效能深入解析]。

  3. 選取時間範圍以便調查查詢。

  4. 在第一個索引標籤上,檢閱長時間執行的查詢清單。

  5. 使用滑桿或縮放功能來變更觀測的間隔。 使用滑桿來變更觀察間隔的螢幕擷取畫面。

  6. 您可以選擇性地選取自訂來指定時間範圍。

注意

查詢存放區需要擷取數小時的資料適用於 PostgreSQL 的 Azure 資料庫彈性伺服器才能在「查詢效能深入解析」中呈現資訊。 如果在某段時間內資料庫沒有活動,或查詢存放區處於非作用中狀態,則在「查詢效能深入解析」顯示該時間範圍時,圖表將是空的。 如果查詢存放區未執行,您可以隨時加以啟用。 如需詳細資訊,請參閱查詢存放區的最佳做法

  1. 若要檢視特定查詢的詳細資料,請按一下 QueryId Snapshot 下拉式清單。 檢視特定查詢詳細資料的螢幕擷取畫面。

  2. 若要取得特定查詢的查詢文字,請連線到伺服器上的 azure_sys 資料庫,並使用 QueryId 查詢 query_store.query_texts_view取得特定查詢的查詢文字的螢幕擷取畫面。

  3. 在 [連續] 索引標籤上,您可找到其他查詢深入解析,包括:

    • Wait Statistics
    • 依呼叫排列的前幾名查詢
    • 依資料使用量排序排列的前幾名查詢
    • 依 IOPS 排列的前幾名查詢
    • 依暫存檔排列的前幾名查詢

考量

  • 查詢效能深入解析不適用於 讀取複本
  • 資料必須存在於查詢存放區中,查詢效能深入解析才能運作。 查詢存放區是選擇加入的功能,因此依預設不會在伺服器上啟用。 指定伺服器上的所有資料庫全域啟用或停用查詢存放區,且無法針對每個資料庫開啟或關閉。
  • 在高載定價層上啟用 查詢存放區 可能會對效能造成負面影響;因此,不建議在該層上啟用。

下一步

  • 深入了解在適用於 PostgreSQL 的 Azure 資料庫彈性伺服器中進行監視和微調