Utiliser le moniteur de performance de SAP Data Integrator

Dans ce tutoriel vous allez apprendre comment utiliser le moniteur de performances afin d’analyser les durées d’exécution des différents traitements associés à un Job SAP Data Integrator.

Pré – requis :

  • Avoir installé SAP Data Integrator avec une version adaptée de IPS (Information Platform Service).
  • Avoir crée un référentiel local afin d’héberger vos développements de Jobs SAP Data Integrator.
  • Savoir comment développer un Job simple et consulter ses logs d’exécution depuis le Designer et la console d’administration.
  • Version : 4.2 SP12

Contexte :

Vous avez besoin d’optimiser le temps d’exécution d’un Job SAP Data Integrator. Avant d’implémenter des optimisations il faut tout d’abord analyser les traitements de votre Job pour comprendre lesquels sont les plus gourmands en ressources. C’est le rôle du moniteur de performances.

Afin de présenter cette fonctionnalité nous prenons pour exemple un Job simple contenant deux Dataflows exécutés de manière successive :

Le premier Dataflow extraie les données de la table source « PERSON » puis groupe les valeurs de sa colonne « FIRSTNAME » en les comptant (colonne NB_FIRSTNAME). Le résultat est envoyé dans une table cible après avoir été ordonné par un Query calculant aussi le pourcentage de chaque prénom (FIRSTNAME) dans la table source :

Le deuxième Dataflow réalise seulement une opération Order By similaire au deuxième Query ci-dessus. Il nous permet juste de comparer les temps d’exécution.

Procédure :

Lancez l’exécution de votre Job. Pendant l’exécution vous pouvez lancer le gestionnaire de tâche Windows afin de surveiller la consommation en ressources CPU et mémoire vive des traitements du Job :

Une fois l’exécution terminée, affichez le journal d’exécution depuis le Designer. Cela vous permettra déjà de vérifier le temps total d’exécution (environ 1 min 22 s) et celui de chacun des traitements :

Allez ensuite dans la section « Administrateur » de la console d’administration SAP Data Integrator. Sélectionnez le référentiel local utilisé. Vous pouvez voir votre Job (JOB_PERSON_ANALYSIS) exécuté, cliquez alors sur son Moniteur de performance :

Dans le moniteur de performance vous pouvez voir le temps d’exécution de chacun des deux Dataflows du Job. Cela correspond à un temps total de 53 + 21 = 74 s. Cela fait 8 secondes de moins que la totalité du Job car celui-ci doit réaliser des opérations préalables avant de lancer les processus d’exécution des Dataflows. Cliquez sur le Dataflow le plus long afin d’obtenir son détail :

Chaque traitement réalisé par le Dataflow apparaît nommé à gauche. Le type d’opération associée (simple mapping des données ou bien Group By, Order By) est affiché ainsi que son heure et sa durée d’exécution. Enfin vous pouvez savoir combien de lignes sont présentes en sortie de chacun de ces traitements :

Vous pouvez voir ci-dessus qu’en sortie du Group By il y avait 1018 lignes correspondant aux 1018 prénoms différents présent en table source. Puis le Order By a été automatiquement séparé en deux processus chacun appliqué à une partie de ces 1018 lignes (518 + 500) car le taux de parallélisme est de 2 pour ce Dataflow. Enfin un Merge a rassemblé les données obtenues avant de les charger en cible.

Le temps d’exécution du traitement Order By est indiquée à 41 s alors que le deuxième Dataflow qui réalise le même traitement dure seulement 21 s. Cela est dû au fait que le traitement Order By est limité par la durée que lui impose le traitement Group By précédent (durée de 47 s) depuis lequel il obtient ses données. Ce Group By est donc ici le processus limitant, représentant à lui seul 88% de la durée d’exécution du Dataflow. On pourra tenter de l’exécuter en tant que processus séparé.

Vous savez désormais comment utiliser le moniteur de performances afin de trouver des pistes d’optimisation pour vos Jobs SAP Data Integrator.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *