Le journal des performances
Le journal des performances contient des détails sur la durée d'exécution d'un job ou d'un service. Il inclut des informations sur les performances globales du job ou du service ainsi que des informations sur les performances de chaque stage du flux de données du job ou du service. Vous pouvez utiliser ces informations pour identifier les goulots d'étranglement de votre flux de données en affichant le temps d'exécution et le temps de traitement de chaque stage. Une grande différence entre le temps d'exécution et le temps de traitement signifie que le stage passe du temps à attendre les données des stages en amont. Cela peut indiquer qu'un stage en amont représente un goulot d'étranglement dans le flux de données. Notez que, pour les collecteurs de données, une grande différence entre le temps d'exécution et le temps de traitement n'indique pas forcément un problème de performances, car les collecteurs de données doivent généralement attendre les premiers enregistrements du reste du flux de données.
Pour permettre l'analyse des performances d'un job ou d'un service, utilisez la commande performancemonitor enabled set de l'utilitaire Administration.
Le journal des performances se trouve sur votre serveur Spectrum™ Technology Platform, à l'emplacement suivant :
SpectrumLocation\server\app\repository\logs\performance.log
Le journal des performances contient une ligne pour chaque exécution d'un job ou d'un service surveillé. Il s'agit d'un journal évolutif qui se compose d'un maximum de cinq fichiers. Chaque fichier est limité à une taille de 10 Mo. Une fois cette limite atteinte, les données de performances les plus anciennes sont supprimées lorsque de nouvelles données de performances sont consignées.
Date Time [performance]
{
"username":"UserName",
"dataflowId":"DataflowName",
"runMode":"BatchOrRealTime",
"remote":TrueOrFalse,
"elapsedTime":Nanoseconds,
"stageInfo":[
{
"stageName":"Name",
"stageLabel":"Label",
"options":{
OptionsList
},
"recordsRead":Count,
"recordsWritten":Count,
"executionTime":Nanoseconds,
"processingTime":Nanoseconds
}
]
}
Où :
- username
- L'utilisateur qui a exécuté le job ou le service.
- dataflowID
- Nom du service ou du job tel que défini dans Enterprise Designer.
- runMode
- Indique si l'entrée du journal est celle d'un job ou d'un service. L'un des éléments suivants :
- Batch
- L'entrée du journal est celle d'un job.
- RealTime
- L'entrée du journal est celle d'un service.
- remote
- Indique si le job ou le service a été exécuté sur le serveur local ou sur un serveur distant. Pour les jobs contenant un ou plusieurs stages exécutés sur un serveur distant, le journal des performances du serveur qui exécute le job indique que le job n'est pas distant (valeur « false »), tandis que le journal des performances du serveur distant qui exécute un ou plusieurs stages du job indique que le job est distant (valeur « true »). L'un des éléments suivants :
- true
- Le job ou le service a été exécuté sur un serveur distant.
- false
- Le job ou le service a été exécuté sur le serveur local.
- elapsedTime
- Temps en nanosecondes nécessaire à l'exécution de la requête de job ou de service.
- stageInfo
- Répertorie les informations d'exécution de chaque stage du flux de données. Les informations suivantes sont répertoriées pour chaque stage :
- stageName
- Nom permanent du stage.
- stageLabel
- Nom du stage, défini par l'utilisateur. Le libellé du stage est indiqué sur le canevas dans Enterprise Designer.
- options
- Si aucune des options ont été spécifiées lors de l'exécution, ces options et leurs paramètres sont répertoriés ici.
- recordsRead
- Nombre total d'enregistrements qui sont passées par le stage via tous ses ports d'entrée.
- recordsWritten
- Nombre total d'enregistrements écrits par ce stage sur tous ses ports de sortie.
- executiontime
- Temps écoulé depuis le traitement par le stage du premier au dernier enregistrements. Cela inclut le temps d'inactivité du stage, passé à attendre les données des autres stages du flux de données.
- processingtime
- Temps passé par le stage à traiter activement les enregistrements, à l'exclusion du temps d'inactivité, passé à attendre les autres stages du flux de données.