Determining optimum number of AIO server processes

[] [] [] [] [] [] [] [] [] []

Related:

  1. R3trans import with parallel processesSymptom Import of a transport request with parallel import processes....

Symptom

There is a large number of aioserver processes in the system.
Other terms

aioserver, aio, minservers, maxservers, maxreqs, aiostat
Reason and Prerequisites

On AIX, aioserver are used to map asynchronous hard disk accesses of applications; in this case, each running aioserver process can handle only one application request at a time; after handling is completed, the aioserver process is available for new requests.
Due to this design, up to several thousand aoiserver processes may run in some systems. This note describes the procedure to determine the optimum number of aoiserver processes:
Solution

To determine which aoiserver processes are actually required for the operation, proceed as follows (on AIX 6.X, you no longer have to perform manual settings because the operating system automatically and dynamically determines optimum values):
Call the tool aoistat from the perfpmr tools (for information about how to access the perfpmr tool, see Note 621838) as follows:
aiostat -t 10000 10 > /tmp/aiostat.log
The t parameter indicates how frequently the kernel parameter is read (in microseconds (ms)); in this case, the kernel parameter is read every 10 ms. 10 indicates that an output line is written every 10 seconds (this also applies to vmstat). In the output, the columns “AIO request count (avg)”, “Weighted Average” and “Max count in interval” are displayed.
Example of an aistat output:
./aiostat -t 10000 10
AIO request count (avg) Weighted Average Max count in interval
0 0 0
0 0 0
0 0 0
0 0 0
A suitable value for maxservers lies between the maximum value of “Weighted Average” and the maximum value for “Max count in interval”. The value of minservers is set to half the value of maxserver.
Check the values in regular intervals and readjust them until a fairly stable situation is reached.
In some situations, you may require 500 to 800 servers for each central processing unit (CPU), for example, for Unicode migrations in Oracle.
For BI/BW/SEM systems, you usually require approximately 200 servers for each CPU.
Furthermore, set the value maxreqs to a minimum of 16384.
To optimize the write and read performance, refer to the “IO performance” section that is included in Note 1048686.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Leave a Comment