Re: TUNING:aio parameters on AIX
Posted in 1998
Art S. Kagel wrote: > > Dave Thacker wrote: > > > > Platform: IBM Rs/6000 J30 AIX V4.1.5 > > Engine Online DSA 7.23 > > > > From much reading of vmstat, iostat, and xmperf we appear to be I/0 bound > > on our production machine. > > While investigating the problem I came across a configuration for aio > > servers. We are currently set to the default and IBM docs recommend that > > we increase them to MAX= (10* count of disks using aio) and > > MIN = (MAX * .5). I believe that OL 7.23 does use the aio libraries. Has > > someone else in an AIX shop changed this configuration? Did it help? > > WHOA HORSEY! Informix's recommendations for 7.10 was 2-3 AIO VPs per WHOA YOURSELF! I think the question was about the recommended kernel parameter settings. I saw a related question elsewhere recently, and this is what someone @ Informix had to say: ------------------------------------------------------------------------ Asynchronous Disk I/O Applications can use the aio_read and aio_write subroutines to perform asynchronous disk I/O. Control returns to the application from the subroutine as soon as the request has been queued. The application can then continue processing while the disk operation is being performed. Although the application can continue processing, a kernel process (kproc) called a server is in charge of each request from the time it is taken off the queue until it completes. The number of servers limits the number of asynchronous disk I/O operations that can be in progress in the system simultaneously. The number of servers can be set with smit (smit->Devices->Asynchronous I/O->Change/Show Characteristics of Asynchronous I/O->{MINIMUM|MAXIMUM} number of servers or smit aio) or with chdev. The minimum number of servers is the number to be started at system boot. The maximum limits the number that can be started in response to large numbers of simultaneous requests. The default values are minservers=1 and maxservers=10. In systems that seldom run applications that use asynchronous I/O, this is usually adequate. For environments with many disk drives and key applications that use asynchronous I/O, the default is far too low. The result of a deficiency of servers is that disk I/O seems much slower than it should be. Not only do requests spend inordinate lengths of time in the queue, the low ratio of servers to disk drives means that the seek-optimization algorithms have too few requests to work with for each drive. For environments in which the performance of asynchronous disk I/O is critical and the volume of requests is high, we recommend that: maxservers should be set to at least 10*(number of disks accessed asynchronously) minservers should be set to maxservers/2. This could be achieved for a system with 3 asynchronously accessed disks with: # chdev -l aio0 -a minservers='15' -a maxservers='30' ------------------------------------------------------------------------ Hope that helps, -- Mark. +----------------------------------------------------------+-----------+ |Mark D. Stock - Informix SA http://www.informix.com |//////// /| |mailto:mdstock@informix.com http://www.informix.com/idn |///// / //| |http://www.iiug.org +-----------------------------------+//// / ///| | Tel: +27 11 807 0313 |If it's slow, the users complain. |/// / ////| | Fax: +27 11 807 2594 |If it's fast, the users keep quiet.|// / /////| |Cell: +27 83 250 2325 |Therefore, "No news: travels fast"!|/ ////////| +----------------------+-----------------------------------+-----------+