支援WDR診斷報告
可獲得性
本特性自openGauss 1.0.0 版本開始引入。
特性簡介
WDR報告提供資料庫效能診斷報告,該報告基於基線效能資料和增量資料兩個版本,從效能變化得到效能報告。
客戶價值
- WDR報表是長期效能問題最主要的診斷手段。基於SNAPSHOT的效能基線,從多維度做效能分析,能幫助DBA掌握系統負載繁忙程度、各個元件的效能表現及效能瓶頸。
- SNAPSHOT也是後續效能問題自診斷和自最佳化建議的重要資料來源。
特性描述
WDR(Workload Diagnosis Report)基於兩次不同時間點系統的效能快照資料,生成這兩個時間點之間的效能表現報表,用於診斷資料庫核心的效能故障。
使用generate_wdr_report(...) 可以生成基於兩個效能快照的效能報告。
WDR主要依賴兩個元件:
- SNAPSHOT效能快照:效能快照可以配置成按一定時間間隔從核心採集一定量的效能資料,持久化在使用者表空間。任何一個SNAPSHOT可以作為一個效能基線,其他SNAPSHOT與之比較的結果,可以分析出與基線的效能表現。
- WDR Reporter:報表生成工具基於兩個SNAPSHOT,分析系統總體效能表現,並能計算出更多項具體的效能指標在這兩個時間段之間的變化量,生成SUMMARY 和DETAIL兩個不同級別的效能資料。如表1、表2所示。
表 1 SUMMARY級別診斷報告
診斷類別
|
描述
|
Database Stat
|
主要用於評估當前資料庫上的負載,IO狀況,負載和IO是衡量TP系統最最要的特性。
包含當前連線到該資料庫的session,提交、回滾的事務數,讀取的磁碟塊的數量,快取記憶體中已經發現的磁碟塊的次數,透過資料庫查詢返回、抓取、插入、更新、刪除的行數,衝突、死鎖發生的次數,臨時檔案的使用量,IO讀寫時間等。
|
Load Profile
|
從時間,IO,事務,SQL幾個維度評估當前系統負載的表現。
包含作業執行elapse time、CPU time,事務日質量,邏輯和物理讀的量,讀寫IO次數、大小,登入登出次數,SQL、事務執行量,SQL P80、P95響應時間等。
|
Instance Efficiency Percentages
|
用於評估當前系統的快取的效率。
主要包含資料庫快取命中率。
|
Events
|
用於評估當前系統核心關鍵資源,關鍵事件的效能。
主要包含資料庫核心關鍵事件的發生次數,事件的等待時間。
|
Wait Classes
|
用於評估當前系統關鍵事件型別的效能。
主要包含資料核心在主要的等待事件的種類上的釋出:STATUS、LWLOCK_EVENT、LOCK_EVENT、IO_EVENT。
|
CPU
|
主要包含CPU在使用者態、核心態、Wait IO、空閒狀態下的時間釋出。
|
IO Profile
|
主要包含資料庫Database IO次數、Database IO資料量、Redo IO次數、Redo IO量。
|
Memory Statistics
|
包含最大程序記憶體、程序已經使用記憶體、最大共享記憶體、已經使用共享記憶體大小等。
|
表 2 DETAIL級別診斷報告
診斷類別
|
描述
|
Time Model
|
主要用於評估當前系統在時間維度的效能表現。
包含系統在各個階段上消耗的時間:核心時間、CPU時間、執行時間、解析時間、編譯時間、查詢重寫時間、計劃生成時間、網路時間、IO時間。
|
SQL Statistics
|
主要用於SQL語句效能問題的診斷。
包含歸一化的SQL的效能指標在多個維度上的排序:Elapsed Time、CPU Time、Rows Returned、Tuples Reads、Executions、Physical Reads、Logical Reads。這些指標的種類包括:執行時間,執行次數、行活動、Cache IO等。
|
Wait Events
|
主要用於系統關鍵資源,關鍵時間的詳細效能診斷。
包含所有關鍵事件在一段時間內的表現,主要是事件發生的次數,消耗的時間。
|
Cache IO Stats
|
用於診斷使用者表和索引的效能。
包含所有使用者表、索引上的檔案讀寫,快取命中。
|
Utility status
|
用於診斷後臺任務效能。
包含複製等後臺任務的效能。
|
Object stats
|
用於診斷資料庫物件的效能。
包含使用者表、索引上的表、索引掃描活動,insert、update、delete活動,有效行數量,表維護操作的狀態等。
|
Configuration settings
|
用於判斷配置是否有變更。
包含當前所有配置引數的快照。
|
SQL detail
|
顯示unique query text資訊。
|
特性增強
無。
特性約束
- WDR snapshot效能快照會採集不同database的效能資料,如果資料庫例項中有大量的database或者大量表,做一次WDR snapshot會花費很長時間。
- 如果在大量DDL期間做WDR snapshot可能造成WDR snapshot失敗。
- 在drop database時,做WDR snapshot可能造成WDR snapshot失敗。
依賴關係
無。