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

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的事件。

请使用浏览器的分享功能分享到微信等