软件测试


网站首页 | 软件测试论坛 | 软件测试培训 | 软件测试博客 | 软件测试杂志 | 软件测试沙龙 | 软件测试下载 | 软件测试顾问
业界新闻 | 软件测试人才 | 软件测试技术 | 软件测试工具 | 行业软件测试 | 软件测试管理 | 软件质量专栏 | 软件开发专栏
当前位置:首页>>软件测试技术>>性能测试>>正文
Redhat AS3下Oracle9204异步I/O的实现
文章出处:ITPUB 作者:stevenqiu 发布时间:2005-11-10

最近一个生产数据库IO性能比较差,用户目前暂时无升级硬件系统的打算,因此只能在系统和数据库上面做文章。在metalink上查找了一番,正好看见一篇有关《Asynchronous I/O (aio) on RedHat Advanced Server》(Note:225751.1)的文章,于是经过实验后,成功将数据库改成异步IO模式。现将基本步骤贴出来,供大家讨论:
1,Linux系统环境和Oracle版本要求
不是所有的Linux版本都可以实现异步IO,根据metalink上的文档,目前只支持Red Hat Advanced Server release 或者 UnitedLinux / SUSE。
Oracle数据库的版本要求Oracle RDBMS 9i release 2或10G
我的Linux环境:Redhat Linux AS3 2.4.21-27
Oracle环境:Oracle9204 for Linux

2,OS参数设置
Linux系统参数需要设置下面几个:
Allow 1MB I/Os (Linux 2.4 only)
• fs.aio-max-size =1048576
Maximum number of concurrent asynch I/O requests
• fs.aio-max-nr
Maximum memory pinned for asynch I/O (Linux 2.4 only)
• fs.aio-max-pinned

3,Oracle数据库初始化参数设置
• disk_asynch_io = true (这是默认的)
如果采用的是文件系统
• filesystemio_options = asynch
如果采用的是裸设备(只支持Red Hat Enterprise Linux 3)
• filesystemio_options = directIO

4,Linux rpm包检查
1> libaio-0.3.96-3.i386.rpm
2> libaio-devel-0.3.96-3.i386.rpm

5,Oracle Patch要求
由于Oracle binary默认不支持async io,需要打上patch(第一次实验的时候,由于没有打上该patch,数据库只能到nomout状态,在mount的时候就死在那里。)
Oracle9204:patch3016968
Oracle9205:patch3208258_9205
Oracle9206:patch3208258_9206
安装包的时候,不需要用什么opatch工具,直接将zip包解压,将里面的files/lib/stubs/下的三个文件,copy到对应的目录中$ORACLE_HOME/lib/stubs

6,启用 Asynchronous I/O
1> cd to $ORACLE_HOME/rdbms/lib
a) make -f ins_rdbms.mk async_on
b) make -f ins_rdbms.mk ioracle

7,启动并打开数据库

8,检查Asynchronous I/O情况
在Linux系统中,使用iostat可以观察idle%情况,也可以用sar 工具来检查。如:
# sar -b 1 5 (for each 1 second. 5 lines are displayed.)
Linux 2.4.9-e.3 (rhas.it.oracle.com) 01/13/2003

09:11:35 PM tps rtps wtps bread/s bwrtn/s
09:11:36 PM 1.00 0.00 1.00 0.00 16.00
09:11:37 PM 11.00 5.00 6.00 65.00 563.00
09:11:38 PM 5.00 0.00 5.00 0.00 432.00
09:11:39 PM 2.00 0.00 2.00 0.00 272.00
09:11:40 PM 0.00 0.00 0.00 0.00 0.00
Average: 3.80 1.00 2.80 13.00 256.60
sar工具在包sysstat-6.0.-1.i586.rpm里,具体使用方法和参数见man sar

至此,异步io设置工作完成,数据库运行正常。IO性能有一定提升。原先系统的io idle%一直在50%左右,改成异步io后,提高到75%左右,后面将进一步跟踪观测。

参考文档:
metalink 《Asynchronous I/O (aio) on RedHat Advanced Server》
Note:225751.1
Oracle OpenWorld Linux 演示文稿《优化 Linux I/O》
http://www.oracle.com/technology/gl...inux/index.html


站内搜索
相关文章
◎性能测试方法
◎关注性能:压力负载
◎压力测试计划实例
◎性能测试及性能调整概述
◎Java性能
◎Ad Hoc网络性能测试关键技术研究
◎对 Windows DNA 应用程序中的数据访问组件进行压力测试
◎NET Framework部署的性能调整
◎性能测试
◎对 Linux 内核进行压力测试
◎调整压力测试工具
◎路由器性能指标详解
◎有效的用例编写规则
◎性能:软件测试的重中之重
◎性能测试指标介绍
热门文章
◎性能测试方法
◎压力测试计划实例
◎系统性能测试方案
◎性能测试指标介绍
◎带宽大小我心知 专业带宽评测工具
◎Oracle SQL 性能优化技巧
◎性能测试的准备
◎一个大型集中项目的性能测试实例
◎关注性能:压力负载
◎性能测试基础知识-性能的规划与实现
◎性能:软件测试的重中之重
◎性能测试及性能调整概述
◎怎样提高性能测试的效率和质量
◎AIX 性能调优-内存、CPU篇
◎性能测试
◎性能计数器解释
◎WebLogic Server 性能调优(一)
◎如何调整压力测试工具
◎性能测试(并发负载压力)测试分析-简要篇
◎性能测试之协议分析
◎性能测试的容量评估
◎性能测试基础知识-处理器调度程序性能
◎性能和容量规划(1)
◎性能测试常见误区
◎LoadRunner的Apache的监控
◎Java性能
◎有效的用例编写规则
◎WebLogic Server 性能调优(三)
◎什么是可伸缩性测试
◎实际项目中可使用的性能需求
◎跟踪数据库性能变化
◎软件性能测试中常注意的事项
◎WTC性能测试报告
◎测试您的DB2数据库:用JMeter测量性能
◎如何测一个门户网站是否支持10万用户同时在线-转自51testing上的讨论
◎调整压力测试工具
◎关注10大E-mail邮箱性能
◎性能测试之场景设计思想
◎对 Linux 内核进行压力测试
◎WebLogic Server 性能调优(二)
◎刨根问底 微软Vista操作系统详尽测试
◎路由器性能指标详解
◎对你的ASP程序作负载测试
◎NET Framework部署的性能调整
◎压力测试和性能测试的区别
◎文件系统性能调优
◎性能和容量规划(2)
◎Ad Hoc网络性能测试关键技术研究
◎Java性能
◎性能和容量规划(3)

Google提供的广告