Oracle优化之I/O解析(六)

6、Buffer  Cache相关的IO事件




6.1、db file parallel write


该事件和并行DML无关。这个等待事件出现在当DBWR进程提交了多IO请求来并行将buffer cache中的脏数据写入磁盘中后,等待所有提交的IO请求完成。通常是由于操作系统的IO系统导致的该事件的阻滞。


这一等待事件一般不会显著影响用户会话。
但是当用户会话中有很高”write complete waits" 或"free buffer waits"事件的等待时间时,说明该事件已经影响到了用户会话。
有时候这一事件对操作系统IO的影响也会影响到进程从同一磁盘读取数据的等待时间。


解决该事件的关键在于减少相关磁盘的IO冲突。如果这事件已经影响到用户会话,我们需要结合其他等待事件信息,考虑采取均衡地磁盘负载、提高存储设备IO效率、增加Checkpoint间隔、增大redo log文件等方法来减低该事件。


6.2、db file single write
当DBWR进程请求修改数据文件头,在等待IO请求完成时,会出现db file single write等待事件。


解决这一等待事件的关键还是要处理好磁盘的IO冲问题,特别是发生该事件所在的磁盘。通过相关SQL的调优等手段来降低事件发生的磁盘的IO、采用更高效率的存储设备、均衡IO负载等方法降低这一等待事件的主要方法。


6.3、write complete waits


当会话对一个正在被写入磁盘的buffer数据块发出请求时,需要等待其被写入磁盘完成,这时就会产生write complete waits等待事件。


提高buffer cache脏数据吸入磁盘的效率、提高整体IO效率是降低该等待事件的主要方法:
1)配置数据库支持AIO
2)增加db_write_process(支持AIO时)或者db_io_slaves(不支持AIO时)大小以增加DBWR进程。
3)其他 IO效率(如采用裸设备等)、减少IO冲突的方法




6.4、free buffer waits
当会话在buffer cache中找不到空闲buffer块,或者在没有空闲buffer块来建立一致性读时,就会产生free buffer waits等待事件。


这一等待事件通常标识buffer cacahe不足或者从buffer cache中将脏数据写入磁盘的效率太低。
要降低该等待事件,我们就需要分别从这两方面入手:调整buffer cache的大小(如根据statspack的建议器来设置);
按照我们前述的方法来提高存储设备的IO效率。

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

转载于:http://blog.itpub.net/29677883/viewspace-1170217/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值