Skip to main content



Database server

developerWorks

General DB2 Informix Oracle
   Recommendations  |   Performance papers  |   More
  FICON/ECKD or FCP/SCSI for database disks
  Scaling storage servers
  Disk setup
  Linux kernel 2.6 - I/O options
  ext2 or ext3 filesystem?
  Tuning read ahead / prefetch features
  31-bit vs. 64-bit database architectures
  Shared memory setup
  Swapping
Linux kernel 2.6 - I/O options

Linux kernel 2.6 supports two new I/O options:

  • Direct I/O on block device
    This a replacement for Linux kernel 2.4's raw devices.
    The application works directly on a block device node, like /dev/sdb1, instead of /dev/raw01. This mode avoids the Linux buffer cache handling, which is the preferred mode for the most databases, because they use their own cache handling.

  • Async I/O
    In the 'normal' I/O mode the issuer of a read request has to wait until the data are available, the process is blocked meanwhile. Using async I/O the application can issue an I/O request to the kernel and continue normal operating. Later it checks the state of the I/O request. Thus, the process is not blocked until the kernel has executed the request.

Both features must be supported by the application.

The usage of async I/O achieves an additional advantage:

You can get rid of the dedicated I/O processes from the database server which are normally responsible for the I/O work. This frees memory which can be used for additional database buffers in shared memory. And this gains an overall throughput improvement of 50%.

The following chart shows the transaction throughput on Linux kernel 2.6 for the different I/O options relative to the throughput on Linux kernel 2.4 using ext2 file system.

Linux 2.6 I/O options - OLTP workload

Test environment
  • IBM eServer zSeries 900 (2064-216)
  • IBM TotalStorage Enterprise Storage Server 2105-800
  • LPAR with 8 CPUs, 2GB memory
  • Novell/SUSE SLES 9 for IBM zSeries (64-bit), kernel 2.6.5
  • Informix 9.5.0 (64-bit)
  • Benchmark Informix OLTP
  • Database data Logical Volume (LV): 8 CHPIDs, 8 host adapters, FCP/SCSI disks in 8 ranks, ext2 filesystem

The transactional throughput using the file system ext2 on Linux kernel 2.6 is very similar to the behavior on Linux kernel 2.4. The throughput using direct I/O behaves in the same way. Throughout our tests, the combination of direct I/O with async I/O produced the best results.


Back to top



Team
Please address any comments to the performance team: linux390@de.ibm.com