Improving the performance of cooked-file dbspaces by using direct I/O

On UNIX systems, you can improve the performance of cooked files used for dbspace chunks by using direct I/O.

Before you begin

Direct I/O must be available and the file system must support direct I/0 for the page size used for the dbspace chunk.

About this task

You can use HCL Informix® to use either raw devices or cooked files for dbspace chunks. In general, cooked files are slower because of the additional overhead and buffering provided by the file system. Direct I/O bypasses the use of the file system buffers, and therefore is more efficient for reads and writes that go to disk. You specify direct I/O with the DIRECT_IO configuration parameter. If your file system supports direct I/O for the page size used for the dbspace chunk and you use direct I/O, performance for cooked files can approach the performance of raw devices used for dbspace chunks.

To improve the performance of cooked-file dbspaces by using direct I/O:

Procedure

  1. Verify that you have direct I/O and the file system supports direct I/O for the page size used for the dbspace chunk.
  2. Enable direct I/O by setting the DIRECT_IO configuration parameter to 1.

Results

If you have an AIX® operating system, you can also enable concurrent I/O for Informix® to use with direct IO when reading and writing to chunks that use cooked files.

For more information about using direct IO or concurrent IO, see the Informix® Performance Guide.