It is documented that KAIO is faster compared to Informix AIO's. But there was no such improvement when i turned on the KAIO.
We are running Informix 9.30.FC2W8 on HP UX-B.11.11 U with 8 processors. Out of which 6 are PSET for informix(6 processors are exclusively used for informix) and 2 for application.I have set the followint parameter after enabling the KAIO.
NUMCPUVPS 20, affinited to 6 CPU's.
I would like to know what would be to the appropriate NUMCPUVPS for given Number of physical CPUS,and related parameters to improve the performance.
The general rule for a typical database server is NUMCPUVPS = Number oof CPU's minus 1. If you want to reserver 2 CPU's for the application (and unix and some very small db processing) you should set NUMCPUVPS to 6, also keep affinity to 6.
The big idea about the multithreading engine is to prevent useless contect switching (thread switching is a lot faster). Ifd you define more CPUVPS as the number of physiacl CPU's you enforce IDS to spread the workload around all CPUVPS, and this will cost you more contect switching.
I'm sorry to say but KAIO is indeed faster as AIO, but HP doesn't hve the best KAIO implementation I guess. The newer versions of IDS workl quite well, but older versions were always a problem. Fot now I advise you to stick with KAIO, but don't expect big improvements.