max async i/os per engine

NoteThe traceflags 1630, 1639 and 1649 have been rendered obsolete by the KAIO implementation. Support for these traceflags has been removed from Adaptive Server.

In earlier versions of Adaptive Server on Linux, the default for max async i/os per engine was 2147483647. In Adaptive Server version 15.0.2, this default has changed to 1024.

On the Linux platform, max async i/os per engine controls the number of asynchronous IOs each engine reserves from the operating system when the machine starts. Your system may benefit from using a number greater than the default value.

You can use sp_sysmon to help tune the max async i/os per engine parameter. 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 IOs that were delayed because of engine or operating system limits. Generally, any IOs 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 KAIO. The Linux kernel requires that you implement KAIO support at the filesystem level. Most major filesystems provide support for KAIO, including ext3, xfs, jfs, and raw devices (The tmpfs file system does not support KAIO). If the device does not support KAIO, 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 errorlog 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.