Oracle数据库磁盘输入输出性能和优化

文章作者 100test 发表时间 2007:03:14 14:01:53
来源 100Test.Com百考试题网


本文是讲述有关Oracle数据库磁盘输入输出性能和优化的各个不同方面的一系列文章中的一篇。每篇技巧性的文章都摘自即将由Rampant科技出版社出版的图书《Oracle磁盘输入输出性能调优》,作者是Mike Ault。从该系列文章的主页上能看到其他即将发布的部分。

Linux系统下的小型计算机系统接口(SCSI)性能调优

在linux系统下,要么通过在启动命令Grub或Lilo的启动文件中指定参数、要么通过在文件/etc/modules.conf中指定选项,来对小型计算机系统接口(SCSI)进行性能调优。接下来让我们依次查看这两种情况的例子。在Linux系统下,可以通过使用带-Tt选项的命令hdparm来测量这个接口的相对性能。注意,在Linux系统中,IEEE 1394接口被看作是一个SCSI接口。下面的例子是用来对普通的SBP2接口进行性能调优,但是这些技术也能够被特定的SCSI驱动器使用。

首先,让我们看一下这个接口的当前设置。通过在/proc/scsi/sbp2目录下查看LUN号来获取这些当前设置信息。本例使用LUN 0。

[root@aultlinux1 root]# cat /proc/scsi/sbp2/0



IEEE-1394 SBP-2 protocol driver (host: ohci1394)



$Rev: 601 $ James Goodwin 



SBP-2 module load options:



- Max speed supported: S400



- Max sectors per I/O supported: 255



- Max outstanding commands supported: 8



- Max outstanding commands per lun supported: 1



- Serialized I/O (debug): no



- Exclusive login: no

现在,我们为接口as-is运行一个时间测试,来测试其平均速度(多执行几次,取其平均值):

/dev/sda:

 Timing buffer-cache reads:  128 MB in  3.99 seconds = 32.08 MB/sec

 Timing buffered disk reads:  64 MB in  6.86 seconds =  9.33 MB/sec

[root@aultlinux1 root]# hdparm -Tt /dev/sda

现在,我们设置文件/etc/modules.conf中的SBP2选项的值。我们使显著命令的数量加倍,设为16,并增加每个LUN的命令数量,设为2:

alias parport_lowlevel parport_pc

alias eth0 3c59x

alias usb-controller usb-ohci

alias eth1 tulip

alias ieee1394-controller ohci1394

alias scsi_hostadapter sbp2

options sbp2 sbp2_max_outstanding_cmds=16 sbp2_max_cmds_per_lun=2

接下来,重启计算机以使设置生效,并重新查看文件/proc/scsi/sbp2/0中我们的设置

[root@aultlinux1 root]# cat /proc/scsi/sbp2/0

IEEE-1394 SBP-2 protocol driver (host: ohci1394)

$Rev: 601 $ James Goodwin 

SBP-2 module load options:

- Max speed supported: S400

- Max sectors per I/O supported: 255

- Max outstanding commands supported: 16

- Max outstanding commands per lun supported: 2

- Serialized I/O (debug): no

- Exclusive login: no

更改了我们的设置后,我们从新运行时间测试:

[root@aultlinux1 etc]# hdparm -Tt /dev/sda

 

/dev/sda:

 Timing buffer-cache reads:  128 MB in  4.03 seconds = 35.36 MB/sec

 Timing buffered disk reads:  64 MB in  6.04 seconds = 11.25 MB/sec

仅做了一个简单的修改,我们提高了这个设备的SCSI速度,比例达120.6%(11.25/9.33*100= 120.6)。总体而言,会获得20%的速度提高。随后,我们把显著命令的数量再加倍、加四倍,最终达到255倍,我们发现当设置其值为16时性能达到最顶点(11.25 MB/sec)。如果被调节的服务器位于一个集群中,所有服务器都应该拥有相同的设置。



相关文章


提高Oracle数据库系统Import的性能
Delphi中BDE直连方式访问Oracle的问题
ORA-00701warmstarting对象的另类解决方法
Oracle数据直接导出到文本文件的方法
Oracle数据库磁盘输入输出性能和优化
Oracle互联网文件系统达到信息共享
如何恢复只有完好数据文件的oracle数据库?
JavaIDE与开发工具试用印象
Java开发使用Oracle数据库的注意事项
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛