AWR : À quel point la base de données est-elle exagérée ?

Avec ce court article, je voudrais dissiper un malentendu lié à l'analyse des bases de données AWR exécutées sur Oracle Exadata. Depuis près de 10 ans, je suis constamment confronté à la question : quelle est la contribution d'Exadata Software à la productivité ? Ou, en utilisant des mots nouvellement inventés : dans quelle mesure le travail d'une base de données particulière est-il « expert » ?

AWR : À quel point la base de données est-elle exagérée ?

Souvent, à mon avis, cette question correcte reçoit une réponse incorrecte en référence aux statistiques AWR. Il présente la méthode d'attente du système, qui traite le temps de réponse comme la somme du temps de fonctionnement des processeurs (CPU DB) et du temps d'attente des différentes classes.

Avec l'avènement d'Exadata, des attentes système spécifiques liées au fonctionnement du logiciel Exadata sont apparues dans les statistiques AWR. En règle générale, les noms de ces attentes commencent par le mot « cellule » (le serveur Exadata Storage est appelé une cellule), parmi lesquelles les plus courantes sont les attentes portant les noms explicites « cell smart table scan », « cell multiblock lecture physique » et « lecture physique d’un seul bloc de cellule ».

Dans la plupart des cas, la part de ces attentes Exadata dans le temps de réponse total est faible et, par conséquent, elles n'entrent même pas dans la section Top10 des événements de premier plan par temps d'attente total (dans ce cas, vous devez les rechercher dans la section Attente de premier plan). rubrique événements). Avec beaucoup de difficulté, nous avons trouvé un exemple d'AWR quotidien de nos clients, dans lequel les attentes d'Exadata étaient incluses dans la section Top10 et s'élevaient au total à environ 5 % :

Espaces

Attend

Temps d'attente total (sec)

Attendre moyenne

% de temps de base de données

Cours d'attente

Processeur de base de données

115.2K

70.4

SQL*Net plus de données de dblink

670,196

5471.5

8.16ms

3.3

Réseau

lecture physique d'un seul bloc de cellule

5,661,452

3827.6

676.07us

2.3

E/S utilisateur

Synchroniser le rééquilibrage ASM

4,350,012

3481.3

800.30us

2.1

Autres

lecture physique multibloc de cellules

759,885

2252

2.96ms

1.4

E/S utilisateur

lecture du chemin direct

374,368

1811.3

4.84ms

1.1

E/S utilisateur

Message SQL*Net de dblink

7,983

1725

216.08ms

1.1

Réseau

analyse de table intelligente cellulaire

1,007,520

1260.7

1.25ms

0.8

E/S utilisateur

température de lecture du chemin direct

520,211

808.4

1.55ms

0.5

E/S utilisateur

enq : TM - confliction

652

795.8

1220.55ms

0.5

Demande de leasing

Les conclusions suivantes sont souvent tirées de ces statistiques AWR :

1. La contribution de la magie Exadata aux performances de la base de données n'est pas élevée - elle ne dépasse pas 5 % et la base de données « s'exadapte » mal.

2. Si une telle base de données est transférée d'Exadata vers l'architecture classique « serveur + baie », les performances ne changeront pas beaucoup. Car même si cette baie s'avère trois fois plus lente que le système de stockage Exadata (ce qui n'est guère possible pour les baies All Flash modernes), alors en multipliant 5 % par trois on obtient une augmentation de la part des attentes d'E/S à 15 % - la base de données survivra certainement à cela !

Ces deux conclusions sont inexactes et, de surcroît, elles dénaturent la compréhension du concept d'Exadata Software. Exadata ne se contente pas de fournir des E/S rapides ; son fonctionnement diffère fondamentalement de l'architecture classique « serveur + baie ». Lorsqu'une base de données devient véritablement « Exadata », la logique SQL est migrée vers le système de stockage. serveurs Grâce à plusieurs mécanismes spécifiques (principalement les index de stockage Exadata, mais pas seulement), les données nécessaires sont automatiquement trouvées et transmises aux serveurs de base de données. Cette opération est très efficace, ce qui réduit considérablement la part des temps d'attente typiques d'Exadata dans le temps de réponse global. 

Comment ce partage va-t-il évoluer en dehors d’Exadata ? Comment cela affectera-t-il les performances de la base de données dans son ensemble ? Les tests répondront au mieux à ces questions. Par exemple, attendre une « analyse de table intelligente de cellule » en dehors d'Exadata peut se transformer en une analyse complète de table si lourde que les E/S prennent tout le temps de réponse et les performances se dégradent considérablement. C'est pourquoi il est erroné, lors de l'analyse d'AWR, de considérer le pourcentage total des attentes d'Exadata comme la contribution de sa magie aux performances, et encore plus d'utiliser ce pourcentage pour prédire les performances en dehors d'Exadata. Pour comprendre à quel point le travail de la base de données est « exact », vous devez étudier les statistiques AWR de la section « Statistiques d'activité de l'instance » (il existe de nombreuses statistiques avec des noms explicites) et les comparer entre elles.

Et pour comprendre ce que ressentira une base de données en dehors d'Exadata, il est préférable de faire un clone de base de données à partir d'une sauvegarde sur l'architecture cible et d'analyser les performances de ce clone sous charge. En règle générale, les propriétaires d'Exadata ont cette opportunité.

Auteur: Alexey Struchenko, chef du département de base de données Jet Infosystems

Source: habr.com

Achetez un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Achetez un hébergement web fiable avec protection DDoS, serveurs VPS et VDS | ProHoster