首页 理论教育数据库性能优化:I/O调优

数据库性能优化:I/O调优

【摘要】:图1-7磁盘I/O瓶颈现象调查最理想的I/O应用就是所有控制器相应的设备都得以均衡使用。图1-10所示为调查Oracle数据库内文件的I/O的SQL。图1-10调查Oracle数据库内文件通过上述分析结果,可采取的措施包括:将 /oracle上数据文件的一部分移至有其他控制器的挂载点,通过移动 RBS、TEMP、USERS中一两个数据文件使 I/O平衡并分散。该操作非一次性操作,分配一次后要重新进行监测,确定 I/O是否分散均衡。

使用数据库的系统绝大多数为以磁盘为主的操作。如果磁盘出现瓶颈现象,会发生整体性能问题。在这种情况下,多数是因为%idle剩余过多而导致CPU性能变慢,此时使用中的CPU大部分被%wio占用。构建系统之前,要用分条等结构分散方法适当地分散磁盘构成,检查因持续监测而出现较多I/O的磁盘,并重新配置数据库的主要运行文件,以便分散I/O。为满足使用用途和可用性,使用RAID构成磁盘的情况较多,此时要按各个RAID的性质以及数据文件的性质进行配置。即写入较多的重做日志文件(redo log file)、回滚(rollback)表空间、临时(temporary)表空间等数据文件要避免用RAID 5构成的设备,应放置在由RAID1,0等构成的设备上。检查系统I/O性能的方法如图1-7所示,可参考sar-d或 iostat等各个平台的指令。

如图1-7所示,监测结果中的%busy值超过40时可判定设备出现瓶颈现象。如果该设备与其他设备使用不均衡时,要将该设备上访问较多的数据文件移至有剩余空间的设备上。上述例子显示sd1为busy(87%)。经过分析来看,每秒有 129件事务,1091次成块传输。

图1-7 磁盘I/O瓶颈现象调查

最理想的I/O应用就是所有控制器相应的设备都得以均衡使用。

图1-8和图1-9所示为在Sun Solaris设备中找出正在使用设备的方法。结果显示正在使用的是sdl设备,因此在/dev目录下调查。

图1-8 查找瓶颈设备(www.chuimin.cn)

图1-9 查找挂载点

设备信息(/dev/ls-l)和挂载点为‘/oracle’, Oracle数据文件集聚在‘/oracle’中,该设备由此出现I/O瓶颈现象。此时还可以参考Oracle内数据文件的读取、写入情况。图1-10所示为调查Oracle数据库内文件的I/O的SQL。

图1-10 调查Oracle数据库内文件

通过上述分析结果,可采取的措施包括:将 /oracle上数据文件的一部分移至有其他控制器的挂载点,通过移动 RBS、TEMP、USERS中一两个数据文件使 I/O平衡并分散。该操作非一次性操作,分配一次后要重新进行监测,确定 I/O是否分散均衡。如果需要再次配置,则要反复进行再配置及优化操作。