num_ioservers - Number of I/O servers configuration parameter

This parameter specifies the number of I/O servers for a database. No more than this number of I/Os for prefetching and utilities can be in progress for a database at any time.

Configuration type
Parameter type
  • Configurable
  • Configurable by member in a Db2® pureScale® environment
Default [range]
Automatic [1 - 255 ]
Note: The default value is subject to change by the Db2 Configuration Advisor after initial database creation.
Unit of measure
When allocated
When an application connects to a database
When freed
When an application disconnects from a database

I/O servers, also called prefetchers, are used on behalf of the database agents to perform prefetch I/O and asynchronous I/O by utilities such as backup and restore. An I/O server waits while an I/O operation that it initiated is in progress. Non-prefetch I/Os are scheduled directly from the database agents and as a result are not constrained by num_ioservers.

When this parameter is set to AUTOMATIC, the number of prefetchers that are started is based on the parallelism settings of the table spaces in the current database partition. Parallelism settings are controlled by the DB2_PARALLEL_IO system environment variable. The number of prefetchers to start is calculated at database activation time that is based on the following formula:
number of prefetchers =
  max( max( max over all table spaces( parallelism setting ),
    number of cores * number of SMT threads ), 16 )

Recommendation: In order to fully use all the I/O devices in the system, a good value to use is generally one or two more than the number of physical devices on which the database resides. It is better to configure more I/O servers, since there is some additional processing time that is associated with each I/O server and any unused I/O servers remain idle.