Performances et temps de réponse de d.side

par | Jan 12, 2022 | Trucs et Astuces

Par défaut, d.side affiche l’état de la base de données surveillée toutes les 5 secondes.
Ce court intervalle entre deux snapshots correspond en réalité au temps pendant lequel d.side se met en pause avant de retourner chercher des informations plus récentes dans le dictionnaire de la base de données Oracle.

Les requêtes jouées par d.side sont conçues et écrites pour être exécutées le plus rapidement possible dans Oracle.
Cependant, certaines situations peuvent ralentir le fonctionnement de d.side : par exemple quand le réseau entre d.side et la base de données subit des lenteurs ou si la zone de shared pool Oracle est si grande qu’elle peut engendrer des ralentissements lorsqu’on interroge le dictionnaire Oracle.

Pour observer ces éléments de performances, d.side met à disposition plusieurs indicateurs sur l’écran principal :

  • La barre de progression “Update status”, tout en bas de l’écran
  • la date de “Last refresh”, en bas de la partie “Main Statistics” sur la gauche de l’écran
  • pour compléter, le temps de connexion à une instance Oracle peut déjà être un premier indicateur intéressant

Barre de progression “Update status”

Entre deux snapshots, pendant le temps d’attente de d.side, cette barre de progression est à l’état “Up to date”, indiquant que l’écran a été mis à jour et que les informations affichées sont les plus récentes qui ont été récupérées du dictionnaire Oracle :

Pendant la récupération de ces informations, c’est à dire pendant l’exécution-même d’un snapshot, cette barre d’état prend plusieurs valeurs, précisant quelle partie de l’écran principal d.side est en train de rafraîchir.
Exemple :

Si le rafraîchissement de l’affichage de d.side est lent, cette barre permet de savoir ce qu’est en train de rechercher d.side, quelle partie est en cours d’exécution, et si une demande de support devait être ouverte, c’est un élément important à communiquer dans le ticket pour affiner l’analyse.

Date de “Last refresh”

La valeur du “Last refresh” indique la dernière heure à laquelle les données affichées ont été récupérées. Il s’agit de l’heure de la machine serveur sur laquelle la base de données est hébergée, pas de l’heure du poste client sur lequel tourne d.side.

Par défaut, d.side s’interrompt 5 secondes après avoir récupéré toutes les données qui constituent un snapshot.
En survolant l’information “Last refresh” on accède au “Last interval”, correspondant au temps qui a séparé les deux derniers snapshots. Ce temps est exprimé en millisecondes.

Si par exemple traiter en intégralité un snapshot prenait 0 milliseconde, c’est à dire que cette opération soit instantanée, alors le temps entre deux snapshots vaudrait invariablement 5 secondes.
Mais la réalité est différente, car exécuter des requêtes dans Oracle, même parfaitement optimisées, nécessite de consommer du temps, ne serait-ce que quelques millisecondes.
Donc, la plupart du temps, cette zone devrait montrer une valeur un peu supérieure à 5 secondes.
Par exemple :

Cette information indique que pour traiter complètement un snapshot, d.side a mis 330 millisecondes.

Et pour permettre d’observer facilement et rapidement une dérive, l’information “Last refresh” est accentuée, affichée en couleur, dès lors qu’un snapshot a pris plus d’une seconde pour être réalisé.
Exemple :

Il a fallu ici 1.014 seconde pour compléter le dernier snapshot, l’information est donc affichée en couleur.

Temps de connexion

Enfin, un autre indicateur correspond au temps de connexion à l’instance Oracle sur laquelle on travaille.
En effet, on constate souvent qu’un temps de connexion long reflète déjà une situation moins efficace.
Il peut donc être intéressant, parfois, de surveiller ce temps de connexion, disponible dans les traces au lancement de d.side.
Exemple :

d.side - 2019-11-18 14:50:06 Starting d.side 261.910.171
d.side - 2019-11-18 14:50:06   d.side home = [C:/d.side]
d.side - 2019-11-18 14:50:14   Connected in 2.01 sec

Lorsque le temps de connexion prend plusieurs secondes cela peut déjà révéler un souci de performances.
Normalement, celui-ci sera confirmé, si besoin, par les autres éléments de l’écran principal, et notamment ceux que nous venons de présenter et qui relatent directement le comportement et les performances de d.side.