使用 Performance Insights 來檢視暫存檔使用情況 - Amazon Relational Database Service

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

使用 Performance Insights 來檢視暫存檔使用情況

您可以使用 Performance Insights,透過開啟指標 temp_bytestemp_files 來檢視暫存檔的使用情況。Performance Insights 中的檢視不會顯示產生暫存檔的特定查詢,但是,當您將 Performance Insights 與針對 pg_ls_tmpdir 顯示的查詢結合時,您可以疑難排解、分析和判斷查詢工作負載中的變更。

  1. 在 [績效詳情] 儀表板中選擇管理指標

  2. 選擇資料庫指標,並選取 temp_bytestemp_files 指標,如下方影像所示。

    指標會顯示在圖形中。
  3. 最高 SQL索引標籤中,選擇偏好設定圖示。

  4. 偏好設定視窗中,開啟最高 SQL索引標籤中顯示的下列統計資料,然後選擇繼續

    • Temp writes/sec

    • Temp reads/sec

    • Tmp blk write/call

    • Tmp blk read/call

  5. 暫存檔在與針對 pg_ls_tmpdir 顯示的查詢組合時會被劃分,如以下範例所示。

    顯示暫存檔使用情況的查詢。

當工作負載中最常用的查詢經常建立暫存檔案時,就會發生 IO:BufFileReadIO:BufFileWrite 事件。您可以使用 Performance Insights,透過檢閱「資料庫負載」和「最高 SQL」區段中的「平均作用中工作階段」(AAS),找出最常在 IO:BufFileReadIO:BufFileWrite 上等待的查詢。

圖中的 IO:BufFileRead 和 IO:BufFileWrite。

如需如何使用 Performance Insights 來分析各等待事件的最常用查詢和負載的詳細資訊,請參閱 最高 SQL 索引標籤概觀。您應找出並調整造成暫存檔案使用量及相關等待事件增加的查詢。如需這些等待事件和修補的詳細資訊,請參閱 IO:BufFileRead 和 IO:BufFileWrite

注意

work_mem 參數可控制排序操作何時用完記憶體,以及將結果寫入暫存檔。我們建議您不要將此參數的設定變更為高於預設值,因為它會允許每個資料庫工作階段耗用更多記憶體。此外,執行複雜聯結和排序的單一工作階段可以執行平行操作,其中每個操作都會耗用記憶體。

最佳實務是,當您有具有多個聯結和排序的大型報表時,請使用 SET work_mem 命令在工作階段層級設定此參數。然後,變更僅套用於目前工作階段,不會全域變更該值。