Avec ce court article, je voudrais dissiper un malentendu concernant l'analyse AWR des bases de données fonctionnant sur Oracle Exadata. Depuis prÚs de 10 ans, je fais face à la question suivante : quelle est la contribution des logiciels Exadata à la performance ? Ou en utilisant des termes nouveaux : dans quelle mesure une base de données est-elle « exadatisée » ?

Il arrive souvent que cette question légitime, à mon avis, reçoive une réponse incorrecte se basant sur les statistiques AWR. Celles-ci présentent une méthode d'attente systÚme, considérant le temps de réponse comme la somme du temps de travail des processeurs (DB CPU) et du temps d'attente de diverses classes.
Avec l'apparition d'Exadata, des attentes systĂšme spĂ©cifiques liĂ©es aux logiciels Exadata sont apparues dans les statistiques AWR. En gĂ©nĂ©ral, les noms de ces attentes commencent par le mot âcellâ (un serveur de stockage Exadata est appelĂ© cellule), et on rencontre le plus frĂ©quemment des attentes aux noms Ă©vocateurs comme âcell smart table scanâ, âcell multiblock physical readâ et âcell single block physical readâ.
Dans la plupart des cas, la part de ces attentes Exadata dans le temps de rĂ©ponse global est faible, et donc elles ne figurent mĂȘme pas dans la section Top10 Foreground Events by Total Wait Time (dans ce cas, il faut les chercher dans la section Foreground Wait Events). Nous avons eu beaucoup de mal Ă trouver chez nos clients un exemple quotidien d'AWR oĂč les attentes Exadata figuraient dans la section Top10 et reprĂ©sentaient environ 5 % :
ĂvĂ©nement
Attentes
Temps d'attente total (sec)
Attente moyenne
% temps DB
Classe d'attente
DB CPU
115,2K
70.4
SQL*Net plus de données du dblink
670,196
5471.5
8,16 ms
3.3
Réseau
cell single block physical read
5,661,452
3827.6
676,07 ”s
2.3
Utilisateur I/O
Sync rééquilibrage ASM
4,350,012
3481.3
800,30 ”s
2.1
Autre
cell multiblock physical read
759,885
2252
2,96 ms
1.4
Utilisateur I/O
lecture par chemin direct
374,368
1811.3
4,84 ms
1.1
Utilisateur I/O
SQL*Net message du dblink
7,983
1725
216,08 ms
1.1
Réseau
cell smart table scan
1,007,520
1260.7
1,25 ms
0.8
Utilisateur I/O
lecture par chemin direct temp
520,211
808.4
1,55 ms
0.5
Utilisateur I/O
enq: TM â contention
652
795.8
1220,55 ms
0.5
Application
Ă partir de telles statistiques AWR, on tire souvent les conclusions suivantes :
1. La contribution de la magie d'Exadata Ă la performance de la base de donnĂ©es n'est pas Ă©levĂ©e â elle ne dĂ©passe pas 5 %, et la base de donnĂ©es « exadatisĂ©e » fonctionne mal.
2. Si une telle base est transfĂ©rĂ©e d'Exadata vers une architecture classique « serveur + matrice », la performance ne changera pas significativement. En effet, mĂȘme si cette matrice s'avĂ©rait trois fois plus lente que le systĂšme de stockage Exadata (ce qui est peu probable pour les matrices All Flash modernes), en multipliant 5 % par trois, on obtiendrait une augmentation de la part des attentes en entrĂ©e/sortie Ă 15 % Ââ une telle base de donnĂ©es est certainement capable de le supporter !
Les deux rĂ©sultats sont imprĂ©cis, et de plus, ils dĂ©forment la comprĂ©hension de l'idĂ©e sous-jacente au logiciel Exadata. Exadata n'assure pas simplement une entrĂ©e/sortie rapide, elle fonctionne de maniĂšre fondamentalement diffĂ©rente par rapport Ă l'architecture classique « serveur + stockage ». Si le travail de la base de donnĂ©es est vraiment « exadata » â alors la logique SQL est transfĂ©rĂ©e au systĂšme de stockage. Storage serveurs grĂące Ă une sĂ©rie de mĂ©canismes spĂ©ciaux (avant tout les Exadata Storage Indexes, mais pas seulement) trouvent elles-mĂȘmes les donnĂ©es nĂ©cessaires et les transmettent aux serveurs DB. Elles le font de maniĂšre suffisamment efficace, c'est pourquoi la part des attentes spĂ©cifiques Ă Exadata dans le temps de rĂ©ponse global est faible.Â
Comment cette part va-t-elle changer en dehors d'Exadata ? Quel impact cela aura-t-il sur la performance globale de la base de donnĂ©es ? Le meilleur moyen de rĂ©pondre Ă ces questions est de procĂ©der Ă des tests. Par exemple, l'attente âcell smart table scanâ en dehors d'Exadata peut se transformer en un scan de table complet si lourd que l'entrĂ©e/sortie occupera tout le temps de rĂ©ponse et que la performance se dĂ©tĂ©riorera dramatiquement. C'est pourquoi il est incorrect, lors de l'analyse AWR, de considĂ©rer le pourcentage total des attentes d'Exadata comme une contribution de sa magie Ă la performance et, surtout, d'utiliser ce pourcentage pour prĂ©dire les performances en dehors d'Exadata. Pour comprendre Ă quel point le travail de la base âexadataâ doit ĂȘtre Ă©tudiĂ©, il faut examiner les statistiques AWR de la section âInstance Activity Statsâ (il y a beaucoup de statistiques avec des noms Ă©vocateurs) et les comparer entre elles.
Et pour comprendre comment la base de données se comportera hors d'Exadata, il est préférable de faire un clone de la base à partir d'une sauvegarde sur l'architecture cible et d'analyser la performance de ce clone sous charge. Cette possibilité est généralement offerte aux propriétaires d'Exadata.
Auteur : Alexey Struchenko, responsable de la division des bases de données chez « InfosystÚmes Jet »
Source : habr.com
