有一定 informix 数据库使用经验的朋友都知道, informix 有两种 IO 方式, AIO 和 KAIO 。 AIO 即传统的同步 IO ,而 KAIO 被称为内核 IO ,由于其使用的是操作系统的内核 IO ,因此 IO 读写的速度比 AIO 要快,会整体上提高 informix 数据库的效率。
在同步 IO 中,线程启动一个 IO 操作然后就立即进入等待状态,直到IO操作完成后才醒来继续执行。而异步 IO 方式中,线程发送一个 IO 请求到内核,然后继续处理其他的事情,内核完成 IO 请求后,将会通知线程 IO 操作完成了。
KAIO(Kernel Asyncronous I/O)是 informix 的一个特征,大多数的平台都支持这种特征。在 AIX 和 SUN 平台上是缺省的设置,数据库安装成功之后,就会有 KAIO 的线程,而 HPUX 平台上配置 KAIO 需要修改操作系统的环境和设置 KAIOON ,具体步骤如下:
1. 检查 $INFORMIXDIR/release 版本中的内容,看看平台是否支持 KAIO
2. 平台使用的是裸分区(root=/dev/vg01/rrootdbs)
1)关闭 online ,修改 informix 环境变量
1 2 | export IFMX_HPKAIO_NUM_REQ=2300 export KAIOON=1 |
2)操作系统设备(11.23不需要)
在小型机 kernel drive 中加入 asyncdsk 设备,重构操作系统后,系统重新启动
进入 SAM ,将 asyncdsk 置为 in ,重构操作系统后,系统重新启动
3)确认在小型机 /dev目录下生成 /dev/async 设备
如果没有 asyncdsk 设备,可以通过以下方法生成
1 2 3 | $ su root # /usr/sbin/mknod /dev/async c 101 0 # chmod 0666 /dev/async |
4)设定 KAIO 设备相关权限
Create the /etc/privgroup file
1 | # touch /etc/privgroup |
Add the MLOCK privilege to the informix user group
1 2 | # vi /etc/privgroup
informix MLOCK |
Use the setprivgrp command to set the new privilege
1 | # setprivgrp -f /etc/privgroup |
Run the getprivgrp command to verify that the new privilege is in place
1 2 3 | # getprivgrp global privileges: CHOWN informix: MLOCK |
5)重起数据库
1 | $ oninit -v |
6)验证 KAIO 线索是否出现
查看 online.log 或 onstat -g ath 确认 KAIO 生效
如果 KAIO 生效,在 informix 的消息文件中应该有下列信息
1 2 | 11:18:23 HPUX Version B.11.11 -> Using flag/select style. KAIO 11:18:23 HP KAIO concurrent requests changed from 1000 to 2300 |


非常深奥呀,不怎么懂……
非常的深啊。。。
技术文章,学习了
HP平台还是第一次听说。。。
@air nailer &@站长工具 &@SEO论坛 &@baby stroller 呵呵,行业专业操作系统呀!
技术性的文章,学习了