Opérations temporisées et appels JDBC

Les opérations temporisées génèrent un avertissement journalisé lorsque des appels JDBC sur le serveur d'applications sont plus lents ou plus rapides que prévu.

Présentation

Lorsqu'elle est activée, la fonction des opérations temporisées effectue le suivi de la durée des opérations JDBC s'exécutant sur le serveur d'applications. Dans les cas où l'exécution des opérations est plus lente ou plus rapide que prévu, il journalise un avertissement. Régulièrement, il crée un rapport dans le journal du serveur d'applications, qui détaille les opérations les plus longues. Si vous exécutez la commande server dump, la fonction des opérations temporisées génère un rapport contenant des informations sur toutes les opérations suivies. Vous pouvez utiliser les informations présentées dans ces rapports pour déterminer si une opération s'exécute plus lentement ou plus rapidement que prévu.

Le système génère régulièrement un rapport dans les journaux qui contient les dix opérations temporisées JDBC les plus longues. La fréquence et l'activation de ce rapport peuvent être configurées dans le fichier server.xml, et la valeur par défaut est d'une fois par jour (24 heures).

Pour activer les opérations temporisées, ajoutez timedOperations-1.0 au fichier server.xml.

Vous pouvez désactiver la génération du rapport dans les journaux ou changer sa fréquence à toutes les 12 heures par exemple avec l'élément timedOperation comme illustré dans l'exemple suivant :

<timedOperation enableReport="false" reportFrequency="12"/>
Vous pouvez aussi utiliser l'attribut maxNumberTimedOperations pour consigner un avertissement lorsque le nombre total d'opérations temporisées atteint la valeur spécifiée par cet attribut. Le nombre d'opérations temporisées est surveillé, il est utile de le connaître étant donné que de la mémoire est affectée à chaque opération à partir du segment de mémoire ; si vous trouvez que le nombre d'opérations temporisées est excessif, vous pouvez désactiver la fonction. Vous pouvez utiliser l'exemple suivant pour configurer l'attribut maxNumberTimedOperations :
<timedOperation enableReport="false" reportFrequency="12" maxNumberTimedOperations="10000"/>
Cet exemple génère un message d'avertissement dans le journal comme suit lorsque le nombre d'opérations temporisées dépasse 10000 :
[4/18/13 23:01:37:316 EDT] 0000002c com.ibm.wsspi.timedoperations.TimedOperationService W TRAS0094I: 
The total number of timed operations is 10000, which exceeds the configured maximum number of 10000. 
You can also find the number of timed operations in the report that is periodically generated to the logs.
If you find that the number of timed operations is excessive, you can disable the timed operations feature. 
[8.5.5.2 ou ultérieure]Si vous associez la variable d'environnement WebSphere com.ibm.timedOperations.autoCleanup à la valeur true, le serveur limite automatiquement le nombre d'opérations temporisées suivies en fonction de la valeur spécifiée dans l'attribut <maxNumberTimedOperations>. Un avertissement est consigné lorsque le nombre total d'opérations temporisées atteint la valeur maximale spécifiée. Pour limiter le nombre d'opérations temporisées suivies, lorsqu'une nouvelle opération temporisée doit être suivie, l'enregistrement d'opération temporisée le plus ancien est supprimé. Lorsque le nombre d'opérations temporisées qui sont suivies atteint la valeur maximale spécifiée, un message d'avertissement s'affiche comme suit :
TRAS0095I: The total number of timed operations has reached the configured maximum of 10000. As new timed operations are created the least recently used timed operations will be removed to maintain the total number of tracked timed operations at this level.

Vous pouvez aussi utiliser la commande server dump pour obtenir un rapport complet de toutes les opérations temporisées dans le fichier messages.log, regroupées par type, et triées dans chaque groupe en fonction de leur durée réelle moyenne.

L'exemple suivant est un exemple de message journalisé :

 [3/14/13 14:01:25:960 CDT] 00000025 TimedOperatio W   TRAS0080W: Operation websphere.datasource.execute:
jdbc/exampleDS:insert into cities values ('myHomeCity', 106769, 'myHomeCountry') took 1.541 ms to complete,
 which was longer than the expected duration of 0.213 ms based on past observations.

L'exemple suivant est un extrait de rapport généré automatiquement dans le journal :

[12/13/12 7:42:29:509 CST] 0000001d com.ibm.wsspi.timedoperations.TimedOperationService I TRAS0092I: 
The following operations took the longest time to run since the last report has been generated:
Operation websphere.datasource.execute:jdbc/exampleDS:insert into cities values ('myHomeCity', 
106769, 'myHomeCounty') took 194ms to complete
Operation websphere.datasource.execute:jdbc/exampleDS:select county from cities where name=
'myHomeCity' took 187ms to complete
Operation websphere.datasource.execute:jdbc/exampleDS:drop table cities took 182ms to 
complete\Operation websphere.datasource.execute:jdbc/exampleDS:insert into cities values 
('myHomeCity', 106769, 'myHomeCounty') took 151ms to complete

Pour la référence de configuration des opérations temporisées complète, voir l'élément timedOperation dans la rubrique Eléments de configuration dans le fichier server.xml.


Icône indiquant le type de rubrique Rubrique de concept

Dispositions pour les centres de documentation | Commentaires


Icône d'horodatage Dernière mise à jour: Wednesday, 2 September 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=cwlp_timeop
Nom du fichier : cwlp_timeop.html