暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

Oracle的一些常见等待事件及相关基线

白鳝的洞穴 2020-05-08
1881
做Oracle的性能分析与健康分析等待事件是十分重要的工具。DBA只有掌握了常见等待事件的分析方法,了解了系统中的各种主要等待事件的基线指标,才能更好的运维与优化系统。
老白刚刚学习Oracle的时候,这方面的资料十分欠缺,为了更好的分析数据库,到处收集相关的资料。发现好的资料就根据等待事件的名称进行归集:

后来在9I开始,Oracle Complete Reference这本官方手册里列出了主要等待事件及其说明,不过这些说明也只是只言片语的,无法在实践中直接使用。随着实践工作的开展,才逐步对Oracle等待事件有了比较深刻的认识。后来10g出现了wait class,至少我们能够对等待事件进行归类了,归类有助于我们理解等待事件对数据库的影响,也就为我们处置等待事件提供了思路。虽然现在关于等待事件的资料越来越多了,不过解析等待事件背后的故事仍然是具有挑战性的工作。
了解一些等待事件背后的含义以及这些等待事件的平均等待延时的基线,有助于我们今后去分析数据库系统。今天老白给大家分项一些常用的等待事件。
和读写IO相关的等待事件:
  • dbfile sequential read:单块读,如果平均响应时间超过20毫秒,基本上可以确定是过高,超过10毫秒就应该关注。存储系统比较好的环境,这个指标应该在4毫秒以内

  • dbfile scattered read:单块读,和全表扫描,全索引快速扫描相关,如果平均响应时间超过20毫秒,基本上可以确定是过高,超过10毫秒就应该关注。存储系统比较好的环境,这个指标应该在4毫秒以内

  • db file parallel write:数据文件写延时,一般存储系统比较好的环境中应该在2毫秒以内,超过10毫秒说明系统的写IO性能不是很好

  • log file parallel write:日志文件写延时,一般负载不是很大的系统应该在1-2毫秒,负载较大的不超过10毫秒,超过10毫秒说明日志写性能不是很好

    和事务提交有关的等待事件:

  • log file sync:日志同步等待时间,会话提交后,等待日志记录从log buffer 写入到redo log文件的时间,一般比log file parallel write略大,如果该延时比log file parallel write大很多,说明存在Log buffer性能存在问题或者应用提交过于频繁等问题

集群相关的:
  • Ave global cache get time (ms):一个GLOBAL CACHE的获取时间,一般来说应该小于5毫秒,如果这个指标超过20毫秒,对系统的性能影响将十分大。

  • Ave global cache convert time (ms):这个指标是对一个DATA BUFFER的访问权限转换所需要的平均时间,这个指标一般来说应该在4毫秒左右,超过20毫秒说明RAC的性能可能存在问题。

  • Ave time to process CR block request (ms):这个指标统计一个CR BLOCK请求的时间,包含生成CR BLOCK、刷新CR BLOCK和发送CR BLOCK的时间,在Oracle 10G的AWR报告里,这个指标被分解为三个部分(Avg global cache cr block build time、 Avg global cache cr block flush time、Avg global cache cr block send time),正常范围是在0.1毫秒到1毫秒,超过10毫秒,对系统的性能有较大的影响。

  • Ave receive time for CR block (ms):一个CR BLOCK从发起请求到收到的时间,一般来说这个指标在0.3毫秒-4毫秒之间,这个指标超过12毫秒,我们就需要关注

  • Ave time to process current block request (ms): 处理一个CURRENT状态的BLOCK请求的处理时间。一般情况下指标在3毫秒左右,大于20毫秒的时候就需要关注了。

  • Ave receive time for current block (ms):一个CURRENT的BLOCK从发起请求到收到的时间。这个指标一般情况下在8毫秒左右,负载较轻的系统可能会小于1毫秒,负载较重的系统,这个指标可能偏高,不过一般情况下,这个指标应该小于30毫秒。

无论如何,解析等待事件是一个十分复杂和需要技能的工作,根据这些年的实践经验,老白团队在D-SMART中制作了一个工具,可以对当前的系统等待事件进行动态评估,形成一个风险评估的结论,提醒DBA目前系统中的等待事件是否存在较大的风险。

同时提供一个诊断报告工具,需要时可以点击左下框的明细按钮,查看专家分析的报告。

等待事件分析是需要长期积累的,如果想成为高手,多看看,多实践,有三五年时间,你就成为这方面的高手了。是不是时间有点长?真正的技术是时间积累出来的,没有捷径的。
最后修改时间:2020-05-08 15:11:50
文章转载自白鳝的洞穴,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论