Вы находитесь на странице: 1из 2

e-Kours

AIX : la commande aioo

La commande aioo est apparue en AIX 5.3 TL05. Elle permet de contrôler la configuration des Asynchronous I/O sur le
système.

La commande n'est pas encore parfaitement implémenté, par exemple si on essaye de voir les paramètres alors que le
module kernel AIO n'est pas chargé on obtient ce message :

# aioo -a
exec(): 0509-036 Cannot load program aioo because of the following errors:
0509-130 Symbol resolution failed for aioo because:
0509-136 Symbol aio_cntl (number 20) is not exported from
dependent module /unix.
0509-192 Examine .loader section symbols with the
'dump -Tv' command.
Ce message explicite indique seulement que le module AIO n'est pas chargé dans le kernel.
On peut voir avec la commande genkex que ce module n'est effectivement pas chargé(la commande ne renvoit rien
contenant aio) #genkex|grep aio
Il suffit soit de passer par le menu smit qui va bien (smitty aio) et de rebooter, soit de charger le module kernel de
manière plus basique : # mkdev -l aio0
aio0 Available
On vérifie que le module kernel est bien chargé : # genkex|grep aio
437b000 3628 /usr/lib/drivers/aiopin
436f000 b278 /usr/lib/drivers/aio.ext
Après ça, on obtient une sortie plus polie de la commande : # aioo -a
minservers = 1
maxservers = 10
maxreqs = 4096
fsfastpath = 0
On voit les paramètres classiques correspondant aux nombre d' aioserver démarrés par défaut sur chaque
processeur (minservers), le nombre maximum d'aioserver par processeur (maxservers) et le nombre de requètes que
chaque aioserver peut traiter (maxreqs).

On peut compter le nombre d'aioserver démarrés avec la commande pstat : # pstat -a|grep aio
48 a 30098 1 30098 0 0 1 aioserver
55 a 3708a 1 3708a 0 0 1 aioserver
56 a 38088 1 38088 0 0 1 aioserver
60 a 3c096 1 3c096 0 0 1 aioserver
62 a 3e096 1 3e096 0 0 1 aioserver
72 a 48096 1 48096 0 0 1 aioserver
74 a 4a098 1 4a098 0 0 1 aioserver
78 a 4e09c 1 4e09c 0 0 1 aioserver
79 a 4f09e 1 4f09e 0 0 1 aioserver ...
Il suffit de compter le nombre d'aioserver démarré puis de le diviser par le nombre de processeurs logiques (si le SMT
est activé) pour savoir où l'on se situe dans le paramètrage. Les aioserver sont des processus kernel, on peut donc
aussi les lister avec la commande ps aux.

En plus de tout cela, on découvre un nouveau paramètre : fsfastpath. Il permet d'activer une implémentation où les
I/O asynchrones sont directement adressés au driver sans passer par les processus aioserver . Cette implémentation
est prévue pour les filesystems JFS2 en Concurrent I/O.

Il suffit de passer ce paramètre à 1 pour en profiter car elle n'est pas activée par défaut. # aioo -o fsfastpath=1

En théorie, on gagne en performance au niveau cpu en évitant des context switchs dûe au passage par les aioserver
et en mémoire comme il n'y a plus besoin d'allouer de la mémoire pour ces process. En pratique, et en ayant tester ce
paramètre sur des serveurs réels(recette et production donc difficile à monitorer de manière précise), je n'ai pas
remarqué de différences significatives ce qui est déjà pas mal :-) . Avec ce paramètre, il est inutile d'effectuer un tuning
fin des aioserver et on ne risque pas de problèmes de performance comme lorsque le nombre d'aioserver est insuffisant.

Dernier commentaire sur la commande aioo, elle n'est pas encore bien implémentée dans AIX dans le sens où son
paramètrage n'est pas conservée lors d'un reboot (pas d'entrées ajoutées dans les fichiers du répertoire /etc/tunables).
Il faut donc ajouter une entrée dans /etc/inittab pour que le paramètre soit pris en compte au reboot.
http://www.ekours.fr Propulsé par Joomla! Généré: 18 October, 2010, 14:34
e-Kours

Et pour la fin l'information la plus importante à mes yeux, IBM maintient un redbook intégrant les nouvelles
fonctionnalités apportées à AIX 5.3(uniquement lors des TL impaires). Il s'agit du redbook sg247414 nommé AIX 5L
Differences guide Version 5.3 Addendum. Il ne se contente pas de lister les nouvelles fonctionnalités mais les décrit
aussi. Vraiment très sympatique.

PS: la commande existe aussi en AIX 5.2 TL9 mais sans le paramètre fsfastpath.

Par Alain Dejoux

http://www.ekours.fr Propulsé par Joomla! Généré: 18 October, 2010, 14:34

Вам также может понравиться