Kernel-asynchronous I/O

The database server implements KAIO by running a KAIO thread on the CPU virtual processor. The KAIO thread performs I/O by making system calls to the operating system, which performs the I/O independently of the virtual processor.

On a computer and operating system where KAIO is supported, the database server uses KAIO whenever possible, including when direct I/O is enabled. To disable KAIO, set the KAIOOFF environment variable to 1 and restart your server.

The KAIO thread can produce better performance for disk I/O than the AIO virtual processor can, because it does not require a switch between the CPU and AIO virtual processors.

UNIX only: HCL Informix® implements KAIO when Informix® ports to a platform that supports this feature. The database server administrator does not configure KAIO. To see if KAIO is supported on your platform, see the machine notes file.
Linux only: Kernel asynchronous I/O (KAIO) is enabled by default. You can disable KAIO by setting the KAIOOFF environment variable to 1 and restarting the server.
On Linux, there is a system-wide limit of the maximum number of parallel KAIO requests. The /proc/sys/fs/aio-max-nr file contains this value. The Linux system administrator can increase the value, for example, by using this command:
# echo new_value > /proc/sys/fs/aio-max-nr

The current number of allocated requests of all operating system processes is visible in the /proc/sys/fs/aio-nr file.

By default, HCL Informix® allocates half of the maximum number of requests and assigns them equally to the number of configured CPU virtual processors. You can use the environment variable KAIOON to control the number of requests allocated per CPU virtual processor. Do this by setting KAIOON to the required value before starting Informix®.

The minimum value for KAIOON is 100. If Linux is about to run out of KAIO resources, for example when dynamically adding many CPU virtual processors, warnings are printed in the online.log file. If this happens, the Linux system administrator must add KAIO resources as described previously.

Important: Starting from 15.0.1.x onwards HCL Informix® is enhanced to support direct I/O on Linux for dbspaces that use a 4 KB page size (or any multiple of 4 KB) when running on Advanced Format (AF) storage devices with a 4 KB physical block size.

Prior to 15.0.1.x, direct I/O on Linux was supported only on storage devices with a native or emulated 512-byte block size.

Depending on the system configuration, using direct I/O with AF devices can deliver 3x to 8x faster I/O performance compared to AIO.

On Linux x86_64, the base page size is 2 KB. Dbspace chunks that use 2 KB pages—such as the root dbspace or any dbspace containing logical logs or the physical log—will not benefit from this enhancement. Therefore, using AF devices for those chunks is not recommended.

On Linux PPC64LE, where the base page size is 4 KB, this enhancement provides improved I/O performance for all dbspaces.