Statspack報告分析—第四部分:Top 5 Wait Events 5大等待事件

we6100發表於2016-01-24

Statspack報告分析第四部分:Top 5 Wait Events 5大等待事件

等待事件是後臺程式在處理的時候必須等待的。

程式可能在等待:

等待資源可用(如:buffer latch

一個動作的完成(如: IO

等待更多的工作做(如:等待客戶傳送下一條SQL語句處理, 這類事件通常稱為 *idle event

等待事件的統計包括等待的次數、以及等待這些事件所消耗的時間

減小使用者的響應時間,要減小服務程式的等待時間。看一下top-5的事件,來確認當前的資料庫程式主要在等待什麼,什麼對資料庫的效能影響最大。Statspack報告的下一頁報告了前臺程式(如 server)的等待事件統計、第3頁報告了後臺程式(如: SMONPMON等)的等待事件的統計資訊。

注: idle event說明程式什麼都不在做。在分析效能的時候可以將這些事件忽略過去。資料庫中所有的idle event可以從stats$idle_event表中獲取。

如果timed_statistics = true, 事件將根據在收集期間內的等待事件總合進行排序,這個說明了什麼事件等待的時間最多,從那裡可以最大的提高系統的效能。

[@more@]

Statspack報告分析第四部分:Top 5 Wait Events 5大等待事件

等待事件是後臺程式在處理的時候必須等待的。

程式可能在等待:

等待資源可用(如:buffer latch

一個動作的完成(如: IO

等待更多的工作做(如:等待客戶傳送下一條SQL語句處理, 這類事件通常稱為 *idle event

等待事件的統計包括等待的次數、以及等待這些事件所消耗的時間

減小使用者的響應時間,要減小服務程式的等待時間。看一下top-5的事件,來確認當前的資料庫程式主要在等待什麼,什麼對資料庫的效能影響最大。Statspack報告的下一頁報告了前臺程式(如 server)的等待事件統計、第3頁報告了後臺程式(如: SMONPMON等)的等待事件的統計資訊。

注: idle event說明程式什麼都不在做。在分析效能的時候可以將這些事件忽略過去。資料庫中所有的idle event可以從stats$idle_event表中獲取。

如果timed_statistics = true, 事件將根據在收集期間內的等待事件總合進行排序,這個說明了什麼事件等待的時間最多,從那裡可以最大的提高系統的效能。

如果timed_statistics = false, 將根據等待的次數來進行排序:

Top 5 Wait Events

~~~~~~~~~~~~~~~~~ Wait % Total

Event Waits Time (cs) Wt Time

-------------------------------------------- ------------ ------------ -------

PX Deq: Execution Msg 37,855 340,028 31.51

PX Deq Credit: send blkd 19,898 185,763 17.21

PX qref latch 1,432 144,668 13.41

log file parallel write 422,460 95,141 8.82

log file sync 286,685 62,030 5.75

在分析前5位事件的時候,尤其要注意那些非idle event的事件:

l ‘db file scattered read’ and ‘db file sequential read’ (and other IO related events)

l ‘latch free’

l ‘enqueue’

l ‘free buffer waits’

l ‘buffer busy wait’

l ‘write complete waits’

這些事件在後續會詳細的說明,在以前的文件中也已經說明過部分了

如果系統除錯的比較好的話,在top-5 event中,可能絕大部分是idle event, 這個時候可以通過event統計的第二頁(列出了大部分的event統計)上資料來處理排名比較靠前的非 idle event的事件。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27500440/viewspace-1981440/,如需轉載,請註明出處,否則將追究法律責任。

相關文章