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"/>
<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]](../ng_v8552.gif)
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.