max async i/os per engine

Summary information

Default value

Platform dependent

Range of values

1– platform-dependent value

Status

Static

Display level

Comprehensive

Required role

System administrator

Configuration group

O/S Resources

max async i/os per engine specifies the maximum number of outstanding asynchronous disk I/O requests for a single engine at one time.


On the Linux platform

On the Linux platform, max async i/os per engine controls the number of asynchronous IOs reserved from the operating system.

In threaded mode, Adaptive Server reserves the value for max async i/os per engine for the engine server. In process mode, Adaptive Server reserves the value for max async i/os per engine for each engine. For example, if you set max async i/os per engine to 4096 and there are 4 engines, in threaded mode Adaptive Server reserves 4096 I/Os, but in process mode Adaptive Server reserves 16384 I/Os.

Your system may benefit from using a number greater than the default value.

You can use sp_sysmon to help tune max async i/os per engine. sp_sysmon’s disk i/o section contains information about the maximum number of outstanding IOs for each engine during the sample period and the number of I/Os that were delayed because of engine or operating system limits. Generally, any I/Os delayed by engine limits indicate that you should increase the value of max async i/os per engine.

Whether Adaptive Server can perform asynchronous IO on a device depends on whether or not this device support kernel asynchronous I/O (KAIO). The Linux kernel requires that you implement kernel asynchronous I/O support at the file system level. Most major file systems provide support for kernel asynchronous I/O, including ext3, xfs, jfs, and raw devices. The tmpfs file system does not support kernel asynchronous I/O. If the device does not support kernel asynchronous I/O, Adaptive Server cannot perform asyncronous IO on that device, and instead reverts to standard synchronous IO for all reads and writes to that device. Adaptive Server prints a message similar to the following in the error log indicating that the device has switched to synchronous IO:

00:00000:00001:2006/12/15 11:47:17.98 kernel  Virtual device
'/dev/shm/tempdb.dat' does not support kernel asynchronous i/o. Synchronous i/o 
will be used for this device.