内核异步 I/O

当以下条件存在时,数据库服务器使用 KAIO:

数据库服务器通过在 COU 虚拟处理器上运行 KAIO 线程来实现 KAIO。 KAIO 线程通过建立对操作系统(该操作系统可执行独立于虚拟处理器的 I/O)的系统调用来执行 I/O。KAIO 线程能够对于磁盘 I/O 产生比 AIO 虚拟处理器产生的更好的性能,因为该线程不需要在 CPU 和 AIO 虚拟处理器之间切换。

仅限 UNIX:GBase 8s 具有支持此功能的平台的端口时,GBase 8s 将实现 KAIO。数据库服务器管理员不用配置 KAIO。要查看 KAIO 是否在您的平台上受支持,请参阅机器说明文件。
仅限 Linux: 内核异步 I/O (KAIO) 在缺省情况下启用。 您可以通过在启动服务器的进程环境中指定 KAIOOFF=1 来禁用内核异步 I/O。
在 Linux™ 上,并行 KAIO 请求具有最大数量的系统范围限制。/proc/sys/fs/aio-max-nr 文件包含该值。Linux™ 系统管理员可以增加该值,例如,通过使用该命令:
# echo new_value > /proc/sys/fs/aio-max-nr

所有操作系统进程的已分配请求的当前数量在 /proc/sys/fs/aio-nr 文件中可见。

在缺省情况下,Datebse Server 分配请求的最大数量的一半,并将它们同样分配给已配置 CPU 虚拟处理器的数量。 您可以使用环境变量 KAIOON 来控制分配给每个 CPU 虚拟处理器的请求数量。在启动 GBase 8s 之前,通过将 KAIOON 设置为必需值来执行此操作。

KAIOON 的最小值是 100。如果 Linux 即将耗尽 KAIO 资源,例如当动态地添加许多 CPU 虚拟处理器时,online.log 文件中将打印警告。 如果发生了此情况,那么 Linux 系统管理员必须按照上述方式添加 KAIO 资源。