ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Waiting Too Frequently for 'db file sequential read'

Waiting Too Frequently for 'db file sequential read'

原创 Linux操作系统 作者:bisal 时间:2013-10-20 22:21:30 0 删除 编辑

昨天有篇“db file sequential read”的介绍,还有一篇类似的:Resolving Issues Where Application Queries are Waiting Too Frequently for 'db file sequential read' Operations (文档 ID 1475825.1)


诊断“db file sequential read”的步骤:

简述:

低效的SQL会引起不同节点间非常多的块读。


问题确认:

花费在本地数据库的active时间非常明显。

仅一些session,查询或job变慢(不是整个数据库)。

“db file sequential read”等待是整个DB time中占比最大的组件。

“db file sequential read”等待操作不慢(IO的平均时间没超过标准IO性能(例如少于20毫秒))。


等待“db file sequential read”操作太频繁的应用查询

等待“db file sequential read”事件指的是一个session正在等待一次从磁盘读到内存的单块读以满足查询的要求。

假设完成一次IO操作的平均时间是正常的(例如单次IO花费时间少于20毫秒),那么相比于单次IO操作的时间,花费在“db file sequential read”的总时间必须降到与IO次数相匹配。

如果“db file sequential read”等待次数太多,单条SQL又极消耗资源,那么这些查询的确可能需要调优以选择一种更能接受的执行路径,减少资源消耗。

为了确定哪些查询等待“db file sequential read”最多,需要采集与AWR报告相同时间段的ASH报告。在报告中,查找等待次数最多的查询。可以与AWR报告关联起来,根据CPU,IO和SQL统计节中的buffer gets的标准测量,判断查询的总体性能。

一旦有问题的语句已经确认,可以参考Document 223117.1 Troubleshooting I/O-related waits的“Reduce the I/O requirements of the database by tuning SQL”节中的方法,使用其中的方法提高这些语句的性能。

如果相比于太多这种等待事件,IO确实存在问题,那么可以参考下面的细节:

Document 1476092.1 Troubleshooting IO Performance Problems Impacting Scattered Reads

Document 262687.1 How to use the Sql Tuning Advisor

Document 1195363.1 Database Performance and SQL


衡量正确性:

一旦已经尝试如上方法,对比最新的AWR与标准AWR(AWR是基线)。查找这种等待事件总体时间减少的百分比。如果仍有问题,需要重新分析这些问题,根据他们具体的现象定位具体的问题。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7192724/viewspace-774697/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle ACE,10g/11g OCP,11g OCM,国内首批Oracle YEP成员(Oracle Young Expert Program,Oracle用户组年轻专家项目),EXIN DevOps Master,Oracle爱好者,微信公众号:bisal的个人杂货铺

注册时间:2022-06-21

  • 博文量
    539
  • 访问量
    2801190