网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.Oracle数据库在NT平台的系统优化.
.oracle 中的数据结构.
.Linux环境主要数据库简介.
.ORACLE回滚段管理(下).
.你的数据库升级吗?.
.Oracle数据操作和控制语言详解(.
.Oracle数据库定时Jobs作业的使用.
.Oracle使用若干技术.
.Oracle数据库数据对象分析(上).
.Red Hat Linux 7.1使用手册(中).
.Oracle 10g 新特性之虚拟专用数据.
.ITPUB电子杂志第七期 -Oracle10.
.TestKing Oracle 1Z0-147 Edt3.0.
.ORACLE用SPFILE无法启动.
.Oracle9iR2在红帽高级服务器版2..
.教你如何截获Oracle数据库连接密.
.利用存储过程参数控制JOB的运行状.
.六步搞定 Oracle 透明网关环境的.
.Oracle中建立索引并强制优化器使.
.改tcp/ip协议栈屏蔽nat的尝试.

AIX系统下的小型计算机系统接口性能优化

发表日期:2008-2-9


    本文是讲述有关Oracle数据库磁盘输入输出性能和优化的各个不同方面的一系列文章中的一篇。每篇技巧性的文章都摘自即将由Rampant科技出版社出版的图书《Oracle磁盘输入输出性能调优》,作者是Mike Ault。从该系列文章的主页上能看到其他即将发布的部分。 AIX系统下的小型计算机系统接口(SCSI)性能调优     AIX是SCO UNIX的衍生物,如同HP-UX(而Solaris是SRV4 UNIX的衍生物)。尽管如此,AIX早已针对标准SCO发布的UNIX做了很多修改,这点又与HP-UX几乎完全遵照最原始的SCO不同。AIX系统中的小型计算机系统接口(SCSI)有一些可以调整的参数。一般来说,SCSI可以读IBM磁盘,并且针对它进行自动调整。类似的其他磁盘驱动器(即,由非IBM生产商提供的),可能需要手工设置其正确参数。接下来让我们看一下AIX系统下可获得的设置。 设置AIX SCSI适配器和磁盘驱动器队列界限     AIX操作系统和Linux,Windows,HP-UX一样,都能对SCSI适配器和某个给定的SCSI总线或磁盘驱动器之间的输入输出请求的数量进行限制。进行这些限制的目的是充分利用硬件的能力来处理多个请求,同时确保磁盘驱动器的最优化搜索算法能够有效运行。     对于非IBM设备而言,有时需要修改AIX的默认队列界限值,从而获取最高性能,而不是使用那些被选择处理最坏可能情况的默认值。让我们看一下默认值应该改变的某些情况,以及这些情况下IBM推荐的新值。 针对非IBM磁盘驱动器的AIX SCSI设置     在任何特定时间,AIX系统答应IBM磁盘的未完成的请求数量的设置值是3(对于SSA,其值是8)。对于这个值,没有直接的接口可以更改它。对于非IBM磁盘驱动器,默认的硬件队列深度值是个非常低效的设置。假如这些磁盘能够接受多个命令(大部分现代磁盘都可以),你改变对于非IBM磁盘驱动器的设置值是非常合适的,从而可以使得这些磁盘驱动器的性能最大化。例如,使用lsattr命令可以显示某个非IBM磁盘驱动器的默认特性: # lsattr -D -c disk -s scsi -t osdisk pvid          none Physical volume identifier      False
clr_q         no   Device CLEARS its Queue on error
q_err         yes  Use QERR bit
q_type        simple Queuing TYPE
queue_depth   3    Queue DEPTH
reassign_to   120  REASSIGN time out value
rw_timeout    30   READ/WRITE time out value
start_timeout 60   START unit time out value     你应该使用AIX提供的接口SMIT来按照要求改变这些磁盘参数。SMIT答应从命令行以最快速的路径到达SMIT接口中的特定点。得到SMIT磁盘接口扇区的快速命令是smitty chgdsk。最为另外一种方式,你也可以使用chdev命令行名来来改变这些参数。     让我们看一个使用chdev的例子,假如你的系统包含一个非IBM SCSI磁盘驱动器,名为hdisk7,下面这个命令能激活对这个设备的队列功能并设置其队列深度为3: # chdev -l hdisk7 -a q_type=simple -a queue_depth=3     这对单个磁盘而言非常不错,但当你对整个非IBM磁盘阵列进行操作时又是怎么样一回事呢?让我们往下看。 针对整个非IBM磁盘阵列设置SCSI参数值     任何磁盘阵列对AIX系统而言都是单个磁盘驱动器,尽管这个磁盘驱动器比较大。某个非IBM磁盘阵列,像单个非IBM磁盘驱动器一样,看起来是磁盘、子类SCSI磁盘或osdisk(是其他SCSI磁盘驱动器的缩写)磁盘。尽管如此,我们知道一个磁盘阵列实际上包含很多物理磁盘驱动器。每个物理磁盘都能处理多个请求,因此,整个磁盘阵列的队列深度应该被设置成某个非常大的值,从而高效地使用所有这些物理磁盘。例如,假如hdisk8是一个含有8个磁盘的IBM磁盘阵列,而且每个磁盘都支持队列深度为3,使用chdev来改变这个磁盘阵列到某个合适值的命令如下:
# chdev -l hdisk8 -a q_type=simple -a queue_depth=24     假如磁盘阵列通过一个SCSI-2快速/高带宽SCSI适配器总线来连接,对这样的总线它或许需要改变未完成请求的界限值。让我们接着往下看。 改变AIX磁盘适配器的未完成请求的界限值     AIX SCSI-2快速/高带宽适配器支持两条SCSI总线,一条供内部设备使用,另外一条供外部设备使用。针对每条总线的未完成请求的界限值都有一个限制。这个限制的默认值是40,最大可能值是128。当某个IBM磁盘阵列连接到一个SCSI-2快速/高带宽适配器总线时,这个总线的未完成请求的界限值就会自动增加来容纳这个磁盘阵列的队列深度值。尽管如此,对于一个非IBM磁盘阵列,这个改变必须手动改变。例如,使用chdev命令设置scsi2适配器的未完成请求的界限值为80的方法如下: # chdev -l scsi2 -a num_cmd_elems=80     注重,假如你使用SCSI-2高性能控制器,这个队列请求的最大值是30,而且这个限制不能被改变。为此,你应该确保连接到SCSI-2高性能控制器的所有设备的队列深度不超过30。     同时你应该注重到最原始的RS/6000 SCSI适配器不支持队列。将一个磁盘阵列设备连接到这样的适配器是不合适的。 控制AIX的系统pbufs的数量     在AIX系统中,逻辑卷治理器(LVM)使用一个称为pbuf的结构来控制针对磁盘的输入输出操作。在AIX版本3中,对每个正在读或写的页都需要一个pbuf。对于那些进行大量顺序输入输出的系统而言,这将过度损耗pbufs缓冲池。为了补偿这种损耗,使用命令vmtune来增加pbufs的数量。
    在AIX版本4中,对于每个顺序输入输出请求只只用单个pbuf,而不管涉及的页的数量。这就显著减少了用完pbufs的可能性,因而在版本4中,一般不推荐调整pbufs。 在AIX版本5中,不再需要调整这个参数。
上一篇:Oracle 9i在AIX上的性能调整--内存篇 人气:1215
下一篇:了解 Oracle ADF:入门示例 人气:1051
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐