异步io:如何在Hp的主机打开异步IO



、说说异步IO(Aio)
   在Hp-ux中,当采用同步IO方式时,这就意味着在下次写IO进行的前,前次IO必须返回\"成功写完成\"信息,可以看到同步IO方式在IO负荷比较大系统存在着性能瓶颈而采用异步IO方式时,在写请求发出的后操作系统会立即反回给应用个写成功信息,余下事就由操作系统完成了在Hp-ux中使用Oracle、Sybase这些数据库时,为减少IO瓶颈、提高库性能,建议打开异步IO,Hp在这方面相对Aix来说相对麻烦

2、Hp-ux方面打开Aio需要做设置
1、Hp-ux使用Aio补丁要求
 a、Hp-ux 11.00补丁要求为:
   PHKL_22126: s700_800 VM,async,hyperfabric
 b、HP-UX 11i补丁要求为:
   PHKL_25212 vm preemption po, mlock/async_io
   PHKL_25506 asyncio driver patch
   使用swlist -l product检查下有无如上补丁,如没有联系Hpsupporter将其打上
2、创建aio设备
 a、建立aio设备
   #/sbin/mknod /dev/async c 101 0x0
 b、调整设备属主,这个例中假定用户为oracle,组为dba
   #chown oracle:dba /dev/async
 c、调整设备权限位
   #chmod 660 /dev/async
3、Hp-ux要要调整内核参数
  调整内核参数据需要使用root用户
  a、把asyncdsk置为in
    sam-> Kernel Configuration -> Drivers->asyncdsk调整为in
  b、调整max_async_ports参数
    这个参数限定是同时使用/dev/async设备最大进程数,对于Oracle这个参数应大于等于init<sid>.ora中processes+后台进程数,对于sybase它所标识是最大工作进程数当max_async_ports值达到时,其余进程将采用同步IO方式
  c、调整 aio_max_ops参数
    这个参数所限定是在任意个时间点排队Aio操作最大数目,般保持默认值就可以,可以用glance监测
  d、调整fs_async参数
   这个参数表明是对文件系统写是否采用Aio方式,设定fs_async=0指定对于文件系统写不用Aio,设定fs_async=1则指定使用aio方式,Oracle不建议将这个什设置为1
4、其它方面设置
  重中的重点是定要为oracle用户组(般为dba)设定MLOCK权限,否则在数据库启动会报错或在库运行时会出现莫名其妙数据库hang现象,我简单说
  a、涉及到两个命令getprivgrp用于检查组有什么权限,privgrp用于设定组权限,举个例子大家就明白了
   eg1:检查dba组是否有MLOCK权限
     root#getprivgrp dba
   eg2:设定dba组MLOCK权限
     roolt#privgrp dba MLOCK
  b、也可以把设定加入配置文件中,这样在下次启动时就自动生效了
   在/etc/privgroup中加入如下行:
    dba MLOCK   
   如果privgroup不存在,可以编辑

3、数据库方面使用Aio要要做设置
1、oracle方面
 a. 7.3.0以前版本   :不需要配置init<sid>.ora中参数
 b. 7.3.X             :在init<sid>.ora中设定use_async_io = TRUE
 c. 8.X 及以后版本  :在init<sid>.ora中设定disk_asynch_io = TRUE
2、sybase方面
  默认就是打开aio

4、其它
1、检查下aio是否生效了
  #fuser /dev/async
  有进程列出来介绍说明aio已经生效了
2、我hp11.00+oracle8.1.6.0.0环境启用aio时而不时会出现坏块问题(ora-01578),请大家注意,但在hp11i系统和Oracle8i,9i配  合中没出现过这个问题


Tags:  如何打开主机23端口 不能打开主机连接 linux异步io 异步io

延伸阅读

最新评论

发表评论