Initiation : détection de goulot d'étranglement au niveau unité d'exécution

Les goulots d'étranglement au niveau unité d'exécution comme les conflits et les blocages peuvent ralentir votre application ou la mettre en pause. La perspective Profilage et Journalisation comprend des vues et des outils vous permettant de détecter et de résoudre ces incidents d'unité d'exécution.

Les vues suivantes sont disponibles pour la détection de goulots d'étranglement au niveau unité d'exécution :

Vous pouvez également rechercher des goulots d'étranglement au niveau unité d'exécution à l'aide de sondes personnalisées que vous concevez dans Probekit.

Sujet parent : Initiation à l'identification d'incident en contexte d'exécution

Collecte de données pour la détection d'un goulot d'étranglement au niveau unité d'exécution

Conditions préalables :

Pour collecter des données :
  1. Dans l'onglet Profilage de la boîte de dialogue Profiler, sélectionnez le type de profilage Analyse d'unité d'exécution.
  2. Cliquez sur Profiler pour lancer votre application.
  3. Exécutez les parties de votre application que vous pensez susceptibles de subir des goulots d'étranglementd'unité d'exécution. Les données d'exécution sont collectées et enregistrées dans une ressource de profilage Analyse d'unité d'exécution, qui apparaît dans le Navigateur du profilage. Vous pouvez à présent terminer votre application.

Utilisation de la vue Unité d'exécution et de Diagramme de séquence UML2 pour la détection de goulot d'étranglement au niveau unité d'exécution

La vue Unité d'exécution affiche un historique d'exécution d'unité d'exécution pour toutes les unités d'exécution de votre application, et indique clairement les situations de blocage et de conflit. La vue Interactions d'objet UML2 affiche la séquence d'appels pendant l'exécution du profilage.

Pour détecter des goulots d'étranglement au niveau unité d'exécution :
  1. Affichez la vue Unité d'exécution : cliquez à l'aide du bouton droit de la souris sur la ressource de profilage pour les données que vous avez collectées et, dans le menu en incrustation, sélectionnez Ouvrir avec > Vue Unité d'exécution.
  2. Dans la vue Unité d'exécution, recherchez des flèches verticales Flèches indiquant des demandes de verrouillage entre les unités d'exécution. Une flèche part d'une unité d'exécution qui demande un verrouillage vers l'unité d'exécution contenant le verrouillage. Une seule flèche indique un conflit d'unité d'exécution : une unité d'exécution attend qu'une autre unité d'exécution lève un verrouillage. Plusieurs flèches indiquent un blocage si elles présentent une forme de demande de verrouillage, dans laquelle les unités d'exécution s'empêchent les unes les autres de s'exécuter car elles attendent qu'une autre lève un verrouillage.
  3. Identifiez les méthodes appelées au moment du goulot d'étranglement. Pour identifier méthodes, effectuez les étapes suivantes :
    1. Trouvez le nom du verrouillage que l'unité d'exécution attend. Dans la vue Unité d'exécution, placez le curseur sur l'unité d'exécution à l'emplacement où elle attend le verrouillage. Le nom du verrouillage, ainsi que le nom de l'unité d'exécution bloquante contenant le verrouillage, apparaissent dans l'infobulle.
    2. Cliquez à l'aide du bouton droit de la souris sur la ressource de profilage Analyse d'unité d'exécution puis, dans le menu en incrustation, sélectionnez Ouvrir avec > Interactions d'objet UML2.
    3. Dans la liste d'unités d'exécution de Vue Unité d'exécution, sélectionnez l'unité d'exécution contenant le verrouillage que vous souhaitez consulter. La vue Interactions d'objet UML2 indique les interactions d'objet de l'unité d'exécution sélectionnée, notamment le verrouillage et les demandes pour le verrouillage.
    4. Placez l'indicateur de l'heure actuelle sur la flèche de la demande que vous souhaitez consulter. Cela synchronise la vue Interactions d'objet UML2 et la ressource de profilage Pile d'appels dans le Moniteur du profilage. L'indicateur de l'heure actuelle est positionné, par défaut, sur le bord gauche du graphique de la vue Unité d'exécution. Pour le déplacer, retenez-le avec la souris.
  4. Affichez le code source responsable pour contenir le verrouillage, si disponible. Pour cela, cliquez à l'aide du bouton droit de la souris sur le dernier appel de la pile d'appels pour l'unité contenant le verrouillage, puis sélectionnez Ouvrir source dans le menu en incrustation. Le code source n'est disponible que si vous profilez un projet Java actuellement ouvert dans la perspective Java. Vous pouvez à présent apporter des modifications à votre code pour résoudre le goulot.
  5. Profilez de nouveau votre application pour vérifier que vous avez résolu le goulot d'étranglement.

Utilisation des vues Déroulement de l'exécution et Tableau du déroulement de l'exécution

Ces vues indiquent, sous divers formats, les données brutes sur lesquelles la vue Unité d'exécution est basé.

Pour utiliser ces vues :
  1. Pour afficher Déroulement de l'exécution ou Tableau du déroulement de l'exécution, sélectionnez Fenêtre > Afficher vue > Autre . . ., développez l'entrée Profilage et Journalisation dans la boîte de dialogue Afficher la vue, puis sélectionnez la vue que vous souhaitez afficher.
  2. Dans la vue Déroulement de l'exécution et Tableau du déroulement de l'exécution, vous pouvez soustraire la durée affectée au profilage en sélectionnant Durée compensée dans le menu en incrustation.

Conditions d'utilisation | Commentaires
(C) Copyright IBM Corporation 2000, 2004. All Rights Reserved.