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, SAP ASE reserves the value for max async i/os per engine for the engine server. In process mode, SAP ASE 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 SAP ASE reserves 4096 I/Os, but in process mode SAP ASE 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 SAP ASE 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, SAP ASE cannot perform asyncronous IO on that device, and instead reverts to standard synchronous IO for all reads and writes to that device. SAP ASE 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.