max async i/os per server specifies the maximum number of asynchronous disk I/O requests that can be outstanding for SAP ASE at one time.
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 |
This limit is not affected by the number of online engines per SAP ASE. max async i/os per engine limits the number of outstanding I/Os per engine.
Most operating systems limit the number of asynchronous disk I/Os that can be processed at any one time; some operating systems limit the number per operating system process, some limit the number per system, and some do both. If an application exceeds these limits, the operating system returns an error message. Because operating system calls are relatively expensive, it is inefficient for SAP ASE to attempt to perform asynchronous I/Os that get rejected by the operating system.
To avoid this, SAP ASE maintains a count of the outstanding asynchronous I/Os per engine and per server; if an engine issues an asynchronous I/O that would exceed either max async i/os per engine or max async i/os per server, SAP ASE delays the I/O until enough outstanding I/Os have completed to fall below the exceeded limit.
For example, assume an operating system limit of 200 asynchronous I/Os per system and 75 per process and an SAP ASE with three online engines. The engines currently have a total of 200 asynchronous I/Os pending, distributed according to the following table:
Engine |
Number of I/Os pending |
Outcome |
---|---|---|
0 |
60 |
Engine 0 delays any further asynchronous I/Os until the total for the server is under the operating system per-system limit and then continues issuing asynchronous I/Os. |
1 |
75 |
Engine 1 delays any further asynchronous I/Os until the per-engine total is under the operating system per-process limit and then continues issuing asynchronous I/Os. |
2 |
65 |
Engine 2 delays any further asynchronous I/Os until the total for server is under the operating system per-system limit and then continues issuing asynchronous I/Os. |
All I/Os (both asynchronous and synchronous) require a disk I/O structure, so the total number of outstanding disk I/Os is limited by the value of disk i/o structures. It is slightly more efficient for SAP ASE to delay the I/O because it cannot get a disk I/O structure than because the I/O request exceeds max i/os per server. Set max async i/os per server equal to the value of disk i/o structures.
If the limits for asynchronous I/O can be tuned on your operating system, make sure they are set high enough for SAP ASE. There is no penalty for setting them as high as needed.
Use sp_sysmon to see if the per server or per engine limits are delaying I/O on your system. If sp_sysmon shows that SAP ASE exceeded the limit for outstanding requests per engine or per server, raise the value of the corresponding parameter. See the Performance and Tuning Series: Monitoring SAP Adaptive Server with sp_sysmon.