AWR : dans quelle mesure la base de données « est-elle en exode de données ? »

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 » ?

AWR : dans quelle mesure la base de données « est-elle en exode de données ? »

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

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster