Optimisation et performances
Dans ce chapitre : • identification des contentions ; • le tuning de Windows pour Oracle 10g ; • les étapes à suivre pour réussir un tuning ; • les outils Oracle 10g disponibles. Comment tirer le meilleur parti d’Oracle 10g sous Windows ? Le sujet est vaste : l’optimisation ou « tuning » consiste à établir le meilleur niveau de performances d’un système en tenant compte de contraintes souvent contradictoires. Notre objectif est de vous présenter les éléments fondamentaux pour assurer des performances aussi bonnes que possible. Si les nouveautés d’Oracle 10g sont nombreuses, beaucoup vont dans le sens d’une simplification de l’administration et une amélioration des performances. Ce chapitre se trouve allégé par rapport aux précédentes éditions de ce livre. Le chapitre précédent a abordé le fonctionnement du système de stockage de données. Nous vous proposons de le lire préalablement, car l’optimisation est limitée si le système de fichiers constitue un goulet d’étranglement. Nous indiquons comment optimiser Windows pour obtenir des performances maximales dans un contexte de base de données et précisons les paramètres d’Oracle 10g qui permettront d’améliorer encore ces performances. Pourtant, il n’existe pas de recette magique pour optimiser une application. Le tuning doit faire partie intégrante de la conception d’une application. Trop souvent, on ne se soucie d’optimisation que lorsque l’application ne fonctionne pas, que les utilisateurs sont mécontents, bref que la situation est explosive ! Pourtant, plus de 90 % de l’optimisation possible provient de l’application et du design de la base de données. Ne cherchez pas le paramètre PERFORMANCE=MAXI dans les paramètres d’initialisation d’une base : il n’existe pas !
L’optimisation de Windows
Comparé à Unix, Windows dispose de beaucoup moins de leviers pour ajuster les performances globales du système. Cela peut être gênant pour de grands systèmes Windows mais c’est en général un avantage pour toutes les configurations intermédiaires. La plupart des actions menées au niveau de Windows ont pour but de limiter les ressources consommées par des tâches autres que la base de données. Pour tirer le meilleur d’Oracle, ne surchargez pas votre système par des tâches Windows annexes : • Serveur de fichiers et d’imprimantes ; • Serveur Active Directory ou contrôleur de domaine ; • Passerelle d’accès distant ; • Serveur DNS, etc. Concernant le tuning Windows, les principales recommandations sont les suivantes. Le support des larges pages L’utilisation par Oracle des larges pages sur un serveur Windows 2003 économise le CPU et tire le meilleur parti des ressources mémoires : au lieu de manipuler des portions mémoire de 4 Ko, l’option large page permet de les passer à 4 Mo par portion. Cette option est particulièrement utile si la taille des données en SGA est de plusieurs gigaoctets. Pour de petites configurations, le gain sera négligeable, voire négatif. Cette option s’active sous Windows 2003 serveur en créant la valeur ORA_LPENABLE=1 dans les clés Oracle de la base de registre. Réduire la priorité des applications de premier plan Donnez un maximum de temps de traitement de Windows pour les tâches de fond, c’està-dire la base de données. À partir du panneau de configuration, lancez l’utilitaire de configuration du système : Démarrer > Paramètres > Panneau de configuration > Système. Affectez un maximum de temps processeur et de ressource mémoire aux applications fonctionnant en arrière-plan. Le manuel d’optimisation d’Oracle 10g fait à lui seul plus de 500 pages. Je n’ai pas la prétention de vous apporter une information exhaustive sur ce thème mais les pistes essentielles. =Briard.Livre Page 730 Mardi, 21. février 2006 1:46 13 Optimisation et performances CHAPITRE 28 731 Figure 28-1 Propriétés système avancées Figure 28-2 Privilégier la mémoire et le CPU pour Oracle =Briard.Livre Page 731 Mardi, 21. février 2006 1:46 13 Administration d’Oracle 10g PARTIE V 732 C’est aussi à partir de cet écran que vous définissez la taille du fichier d’échange de votre système, c’est-à-dire sa zone de pagination qui servira à stocker sur disque, lorsque la taille de la mémoire disponible est dépassée, des informations normalement en mémoire. L’utilisation de ce fichier d’échange est à surveiller, nous verrons comment dans le même chapitre, car les accès disques sont beaucoup plus lents que les accès mémoire. Dans cet exemple, il n’existe qu’un seul fichier de pagination. Pour améliorer l’accès disque, on peut créer plusieurs fichiers de pagination. Placez-les toujours sur des partitions disques rapides : RAID 0,1,10 mais évitez RAID 5. La taille de l’ensemble des fichiers de pagination doit être suffisante pour contenir tous les « débordements » du système. Une taille trop grande ne présente aucun inconvénient : prévoyez large, de 4 à 6 fois la taille de la mémoire vive. Supprimez les services non indispensables De nombreux services sont lancés par Windows et Oracle. Annulez tous ceux qui ne sont pas indispensables à votre configuration. À partir du Panneau de configuration, choisissez l’icône Services et ne démarrez que les services indispensables. Vous pouvez arrêter chaque service et définir ses propriétés de démarrage lors du prochain lancement de votre machine. Certains services peuvent être stoppés : • Plug and Play ; • Gestionnaire de connexions d’accès distant ; Figure 28-3 Définition du fichier de pagination • Gestionnaire de numérotation automatique d’accès distant ; • Serveur d’accès distant ; • Service Téléphonie ; • OracleAgent (en dehors de la phase de découverte d’Oracle Enterprise Manager et du lancement de Jobs et d’Events) ; • … et tous ceux qui ne sont ni utiles, ni utilisés dans votre contexte. D’autres ne doivent pas être stoppés : • Enregistrement d’événements ; • Messagerie ; • Service d’appels RPC ; • Serveur ; • Planning ; • Aide TCP/IP NetBIOS ; • Système d’exploitation ; • Station de travail ; • OracleServiceSID ; • OracleOraHome92TNSListener80.
Supprimez les protocoles inutiles et adaptez leur ordre
Différents protocoles sont peut-être installés sur votre serveur et certains peuvent être supprimés. Accédez à l’écran par Démarrer > Paramètres > Configuration réseau. Face à l’omniprésence de TCP/IP dans les réseaux, il est maintenant rare de rencontrer plusieurs protocoles sur un même serveur. Certains, comme SMB, peuvent être supprimés d’un serveur Oracle. Supprimez les protocoles réseau qui ne sont pas indispensables à votre configuration. Attention, ceci peut avoir des conséquences importantes sur votre serveur (bien que tous les protocoles puissent être réinstallés) et doit être fait en collaboration avec votre administrateur réseau. Si plusieurs protocoles sont utilisés sur votre serveur, donnez-leur un ordre qui met en tête le protocole le plus utilisé par votre base Oracle. Ce protocole est majoritairement TCP/IP. Utilisez le dernier Service Pack de Windows Microsoft améliore Windows en sortant régulièrement des correctifs ou Service Pack. Ils comprennent des améliorations touchant les performances, la sécurité, des corrections de bugs, etc. Ils sont numérotés et doivent être lancés dans l’ordre de leur parution : Service Pack 1, puis 2, puis 3… Pour les systèmes Windows en langue française, attendez que Microsoft édite le Service Pack en français. N’installez jamais des Services Pack américains sur des Windows français. Les outils disponibles sous Windows Nous vous présentons maintenant des outils Windows utiles pour surveiller l’activité du système. Certains peuvent aussi être utilisés pour surveiller des bases Oracle. Le gestionnaire des tâches Windows Le gestionnaire de tâches se lance en effectuant un « clic droit » sur la barre des tâches Windows