!
!
!
!
!
!
!
!

Les Hot Spots (11 juin 2002)

Comment eviter les I/O ?

 Reduire les entrees / sorties ! (extrait)

Comme les blocs sont lus à partir du disque régulièrement, un objectif capital est de réduire la contention. Très fréquemment des processus Oracle accèdent au même disque simultanément.

Vous pouvez obtenir un gain impressionnant de performances en égalisant les entrées/sorties sur plusieurs disques, sans oublier toutefois la nécessité d’une facile restauration (en cas de panne). En procédant ainsi, vous obtiendrez deux résultats : l’utilisation plus efficace du hardware (j’ai vu des disques exploser parce que le taux de I/O dépassait les spécifications du constructeur) et la diminution des contentions.

·          Les entrées/sorties doivent être réparties entre les unités disques disponibles.

·          Un disque trop chargé peut entraîner de mauvaises performances pour toute la base de données.

·          La charge d'un disque dépend d'ORACLE et des autres process tournant sur la machine.

Déterminer les fichiers les plus accédés et leur mode d’accès (Lecture/Ecriture) en interrogeant la vue v$filestat, en consultant le résultat de script utlb(e)stat.sql. Il est important que les fichiers les plus accédés soient répartis sur des axes différents et que les disques soient stressés en égale mesure.

·          N’effectuez pas le développement des applicatifs sur les machines utilisées en production. Ceci se réfère aussi bien aux contentions implicitement générées qu’au stress de la SGA.

·          Ayez une bonne connaissance des applicatifs qui seront mis en production : taille des tables, leurs index.

·          Chercher les disques avec un haut niveau d’activité. 

·          Egaliser les accès disque en modifiant l’emplacement des objets.

·          Séparez tous les fichiers de la base (impossible dans le monde réel).

·          Si vous ne disposez pas de nombreux disques, séparez au moins les fichiers redo log des autres fichiers de la base et surtout des fichiers qui contiennent les rollback segments.

·          Séparez les fichiers de la base du (des) disques qui contiennent les fichiers swap OS.

·          Utiliser un disque peu chargé pour le tablespace SYSTEM.

·          Séparez les fichiers contenant les données (tables) et les fichiers contenant les index pour ces tables.

·          Séparez les tables les plus accédées sur des disques différents.

·          Séparez les tables utilisées en jointures copieuses.

·          Plusieurs petits disques sont mieux employés que peu de gros disques.

·          Employez des disques SCSI, pas des IDE

·          Utilisez des disques défragmentés pour contenir vos tablespaces. Les meilleurs tablespaces reposent sur des disques récemment formatés.

·          Evitez trop d’extents dans les tables, diminuez un maximum le nombre d’extents des index !

Attention aux index créés automatiquement par l’activation des contraintes PRIMARY KEY et UNIQUE.

Une activité d’entrées/sorties effectuée par un autre logiciel sur la machine peut interférer, évitez que le Oracle cohabite avec un serveur de fichiers, d’impression.


 

Copyright © 1998-2012 Radu Caulea, TAFORA MAJ 19/05/2012 !
Commentaires et suggestions radu[CHEZ]tafora.fr