Eléments du moniteur de temps passé

Les éléments du moniteur de temps passé permettent de suivre la manière dont le temps est passé dans le système. Vous pouvez les interroger pour savoir où le temps est passé à attendre ou à effectuer différents types de traitement. Vous pouvez également visualiser le temps écoulé dans un composant particulier du système.

La figure 1 montre un exemple de la façon dont vous pouvez visualiser le temps d'attente et le temps de traitement d'une demande.
Figure 1 : Les mesures du temps passé peuvent fournir une vue d'ensemble de l'utilisation du temps dans le système. Le temps est décomposé en temps d'attente (temps d'attente du verrou, temps d'E/S du pool de mémoire tampon, temps d'E/S directes) et en temps passé à effectuer le traitement proprement dit.
Diagramme circulaire montrant une vue d'ensemble des temps d'attente et de traitement dans le système
Le gestionnaire de la base de données peut contrôler le temps passé dans le système de trois manières différentes :
  • Temps d'attente
  • Temps de traitement des composants
  • Temps écoulé des composants.
Temps d'attente
Les éléments du moniteur de temps d'attente reflètent le temps que le gestionnaire de base de données passe à attendre quelque chose avant de pouvoir procéder au traitement. Parmi les exemples, on peut citer le temps d'attente pour les services suivants :
  • Demandes de clients entrantes
  • Verrous sur les objets à libérer
  • Écriture dans le journal de diagnostic
  • Lecture ou écriture dans le pool de mémoire tampon.
Voici quelques exemples d'éléments du moniteur qui permettent de suivre les temps d'attente lock_wait_time et pool_read_time.
Temps de traitement des composants
Ces temps représentent le temps passé à effectuer un traitement réel dans un composant logique spécifique de la base de données. Parmi les exemples, on peut citer le temps consacré aux services suivants :
  • Validation ou annulation des transactions
  • Réorganisation de la base de données
  • Compilation de SQL
  • Chargement des données
  • Effectuer des opérations d'exécution.
Voici quelques exemples d'éléments du moniteur qui permettent de suivre le temps de traitement des composants total_compile_proc_time et total_commit_proc_time.
Temps écoulé des composants
Les temps écoulés des composants reflètent le temps total passé dans un composant logique de la base de données. Ils comprennent à la fois le temps de traitement et les différents types de temps d'attente qui peuvent être encourus au cours de cette étape globale du traitement. Par exemple, le temps total passé à effectuer une livraison comprend le traitement effectif de la livraison et peut également inclure différents types de temps d'attente, tels que le temps passé à attendre que les opérations d'entrée/sortie ou les opérations sur les fichiers journaux se terminent.
Note : Le temps écoulé n'est pas le même que le temps mesuré par une horloge ; si le temps total a été réparti entre plusieurs fils, le temps passé dans chaque fil est représenté dans ce nombre.
Voici quelques exemples d'utilisation des temps de composants :
  • Apprendre où le traitement relativement coûteux a lieu pour une charge de travail donnée (par exemple la compilation SQL, par rapport à l'exécution de la requête)
  • Déterminer si le coût d'un composant spécifique peut être attribué au traitement réel ou si le temps d'attente joue un rôle important dans la réduction du débit
  • Comprendre le coût d'un composant particulier (par exemple, le traitement des retours en arrière) dans le contexte du temps global passé dans le système.
Voici quelques exemples d'éléments du moniteur qui permettent de suivre les durées globales des composants total_compile_time et total_commit_time

Vous pouvez interroger les temps de traitement des composants et les temps d'attente pour obtenir une ventilation des temps d'attente spécifiques par rapport aux temps de traitement. La figure 1 est un exemple de la manière dont ces deux types de mesures du temps passé peuvent être considérés l'un par rapport à l'autre.

Bien que les temps d'attente des composants ne puissent pas être utilisés pour obtenir une ventilation des types spécifiques de temps d'attente (par exemple, les temps d'attente des verrous, les temps d'attente liés aux E/S), ils fournissent une vue alternative que vous pouvez utiliser pour visualiser les temps de traitement par rapport au temps global passé dans un composant logique donné de la base de données. Un exemple serait l'examen du rapport entre le temps de traitement réel des réorganisations de tables ou d'index ( total_reorg_proc_time) par rapport au temps total écoulé pour les réorganisations ( total_reorg_time), qui peut inclure le temps consacré à divers traitements et attentes qui ne sont pas directement liés à la réorganisation elle-même.