自動負載信息庫AWR(Automatic Workload Repository)是數據庫收集和分析性能數據的工具。通過AWR工具,可以從數據庫的動態視圖等統計信息中生成某個時間段的性能報告。
概述
PolarDB PostgreSQL版(兼容Oracle)的Global AWR性能報告功能,在提供數據庫資源、Top SQL、Top表及索引的分析基礎上,進一步拓展了AWR報告的邊界:數據范圍上涵蓋PolarDB數據庫集群所有RW/RO節點,具備全局視角;數據類型上涵蓋性能數據和事件信息, 方便分析數據庫實例異常;數據粒度上關鍵指標采集細化到秒級,并通過Grafana提供趨勢展示,方便定位性能抖動根因。
架構與數據流
AWR架構說明
采集層:UE作為代理進程部署于物理機,負責采集PolarDB PostgreSQL版(兼容Oracle)數據庫集群的性能數據及事件信息。
存儲層:UE完成采集后,您可以配置將采集到的數據回寫到對應的數據庫集群中。
展示層:提供Grafana展示, 可將數據庫集群配置為數據源,導入dashboard配置文件即可查看。
展示
支持通過Grafana查看PolarDB PostgreSQL版(兼容Oracle)的性能趨勢及事件信息。示例如下:
對于性能問題, 提供核心的Average Active Sessions趨勢展示,配合資源消耗情況可分析數據庫瓶頸所在。同時結合事件信息,能夠快速定位抖動原因。例如下圖在20:09:22,可以看到連接異常斷開。
對于內存占用問題, 可細化到SQL及其Memory Context級別。
還有Top SQL和Top Table的各種分析。
具體的開啟和配置方式請參見使用說明。
使用說明
使用前準備
內核版本
PolarDB PostgreSQL版(兼容Oracle)內核版本建議升級至20211231或以上的版本。
執行以下命令,查看當前內核版本:
show polar_release_date;
顯示結果如下所示,表示當前使用的內核版本為20211231。
polar_release_date
--------------------
20211231
(1 row)
權限說明
目前所有Global AWR提供的控制權限及數據權限均為PUBLIC。
時區
PolarDB PostgreSQL版(兼容Oracle)數據庫集群默認的時區為UTC,在查看性能數據時要注意所在時區的時間差異。
啟用和禁用Global AWR數據的本地存儲功能
在使用AWR之前,需要啟用Global AWR數據的本地存儲功能。Global AWR功能啟用后,無需定期觸發快照也可生成細粒度的性能報告。可以在postgres庫的polar_gawr_collection模式下查看數據。
對于關鍵指標,PolarDB PostgreSQL版(兼容Oracle)會進行細粒度采集及寫入,Global AWR功能啟用后會帶來兩部分額外開銷,請您謹慎評估是否需要啟用此功能:
性能開銷:整體性能損失在10%以內。
存儲開銷:目前默認保留3天的數據,3天最細粒度的數據量在10 GB以內。
操作說明
以下操作需要在postgres數據庫中完成。
啟用Global AWR數據的本地存儲功能。
SELECT polar_gawr_collection.enable_store_in_localdb();
顯示結果如下:
enable_store_in_localdb ------------------------- (1 row)
禁用Global AWR數據的本地存儲功能。
SELECT polar_gawr_collection.disable_store_in_localdb();
顯示結果如下:
disable_store_in_localdb -------------------------- (1 row)
查看Global AWR數據的本地存儲啟停狀態。
SELECT polar_gawr_collection.show_store_in_localdb();
顯示結果如下:
show_store_in_localdb ----------------------- t (1 row)
配置Grafana查看AWR信息
下載并安裝Grafana
詳情請參見Download Grafana,建議使用8.1.2或以上版本。
添加數據源
根據實際情況將PolarDB PostgreSQL版(兼容Oracle)數據庫集群添加為PostgreSQL數據源。
打開Grafana,在左側導航欄中單擊Configuration > Data sources。
在打開的Data sources頁面,單擊右側Add data source添加數據源。
數據庫集群的鏈接信息如實填寫即可。
說明Database
需要填寫postgres
。
導入Dashboard配置文件
在左側導航欄中單擊+ > Import。
在打開的Import頁面,單擊Upload JSON file導入配置文件。
dashboard配置文件壓縮包請參見PolarDB Global AWR-1712645731515.json。配置文件下載后解壓縮即可使用。