Parameters related to transaction logs | Parameters related to locking
DB2 Parameters related to disk I/O
In addition to physical disk layout, several tuning parameters can be manipulated to affect disk I/O. Two key parameters are NUM_IOSERVERS and NUM_IOCLEANERS.
- NUM_IOSERVERS specifies the number of processes that are launched to prefetch data from disk to the bufferpool pages. To maximize read parallelism, this parameter should be set to the number of physical disks that are being used by the database, to enable reading from each disk in parallel.
- NUM_IOCLEANERS specifies the number of processes that are launched to flush dirty bufferpool pages to disk. To maximize usage of system resources, this parameter should be set to the number of CPUs on the system.
The frequency of how often dirty bufferpool pages are flushed to disk can be influenced by the CHNGPGS_THRESH parameter. Its value represents the limit, in the form of a percentage, that a bufferpool page can be dirty before a flush to disk is forced. For OLTP applications, IBM recommends a lower value. For WebSphere Commerce implementations, the value should be set to 40.
One final parameter to consider in this section is MAXFILOP. It represents the maximum number of files DB2 can have open at any given time. If this value is set too low, valuable processor resources will be taken up to open and close files. This parameter needs to be monitored to be set to the correct value, but a good starting point is to set this value to 128. You can monitor this by taking a database snapshot and looking at the following line:
Database files closed = 0If the value monitored is greater than zero, then the value for this parameter should be increased.