Red Hat Linux – Oracle : Vérifier qu’Oracle est optimisé pour utiliser les Asynchronous I/O


Les « asynchronous I/O » permettent au noyau Oracle dans certaines conditions de ne pas avoir à attendre l’acquittement d’entrée/sortie pour poursuivre ses tâches d’exécution transactionnelle. Celles-ci permettent de gagner dans temps dans l’exécution des requêtes des utilisateurs et de ne pas mettre en attente les transactions.

Dans le cas où une instance n’a pas été optimisée pour les I/O asynchrones et que l’on a un doute sur l’installation du noyau Oracle sur lequel l’instance est déployée, une vérification du noyau s’impose.

Avec les Red Hat Linux 7.x, la vérification se fait de cette manière :

Si le noyau n’a pas été déployé (« relinké ») pour les I/O asynchrones, les mêmes instructions retournent les valeurs suivantes :

Dans le cas où le noyau a été déployé avec les I/O asynchrones, il est dès lors possible de passer l’instance en mode d’utilisation des I/O asynchrones de la manière suivante :

Par ailleurs si l’on souhaite utiliser non seulement les I/O asynchrones mais aussi les I/O directes (sans passage par le cache système, donc bien plus performant), au lieu d’utiliser la valeur « asynch » il faut configurer l’instance en « setall » :

Ce paramètre n’étant pas dynamique, il impose un redémarrage de l’instance.

Les gains de performances I/O peuvent être très significatifs.

Source : Red Hat Verifying Asynchronous I/O Usage, pour la vérification de l’utilisation de « libaio.so.1 »