IBM Support

Tuning Kernel Asynchronous IO (KAIO) for IBM Informix on AIX

Question & Answer


Question

This article goes over the environment variable that can be used to change the default resources used by the engine for Kernel Asynchronous I/O (KAIO) on the IBM AIX platform.

Answer

If you seem to have sluggish performance during peak I/O usage times or see a message in the online.log that says:

    KAIO out of OS resources errno = 11

    or
    *** _aiowrite() returning EAGAIN ***

Then the Kernel Asynchronous I/O (KAIO) subsystem may need to be tuned. The IBM Informix engines do this thru an Operating System (OS) structure called an Asynchronous IO Control Block (AIOCB). A certain number of AIOCB's are allocated at initialization time and reused as long the instance is online. If the number of AIOCB's is low, performance will be negatively impacted because the engine will be forced to wait until an AIOCB becomes available.

To change the number of AIOCB's defined, set the environment variable IFMX_AIXKAIO_NUM_REQ to the desired number, then shutdown and
restart the database engine. If the value of IFMX_AIXKAIO_NUM_REQ is
greater than 4096, then 4096 AIOCB's will be allocated. If the value of IFMX_AIXKAIO_NUM_REQ is less than 128, then 128 AIOCBs will be
allocated. If IFMX_AIXKAIO_NUM_REQ is not set, then the default value is 1024. These values may change in future versions of the OS or engines.

Example:
    To lower the number of concurrent KAIO requests to 512 from the default of 1024 :
      $  export IFMX_AIXKAIO_NUM_REQ=512

Update:
Subsequent to Dynamic Server version 10, the default value has increased. Please see the related articles for further information.

[{"Product":{"code":"SSGU8G","label":"Informix Servers"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Not Applicable","Platform":[{"code":"PF002","label":"AIX"}],"Version":"7.2;7.3;9.2;9.3;9.4;10.0","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}},{"Product":{"code":"SSGU5D","label":"Informix Extended Parallel Server"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":" ","Platform":[{"code":"PF002","label":"AIX"}],"Version":"All Versions","Edition":"All Editions","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
16 June 2018

UID

swg21083472