Liberty:Zeitlich festgelegte Operationen und JDBC-Aufrufe
Zeitlich festgelegte Operationen generieren eine protokollierte Warnung, wenn JDBC-Aufrufe im Anwendungsserver langsamer oder schneller als erwartet ausgeführt werden.
Überblick
Wenn das Feature für zeitlich festgelegte Operationen aktiviert ist, überwacht es die Dauer von JDBC-Operationen, die im Anwendungsserver ausgeführt werden. Wenn die Operationen für die Ausführung mehr oder weniger Zeit als erwartet benötigen, protokolliert das Feature für zeitlich festgelegte Operationen eine Warnung. Das Feature für zeitlich festgelegte Operationen erstellt regelmäßig einen Bericht im Anwendungsserverprotokoll, der genau angibt, welche Operationen die längste Ausführungszeit hatten. Wenn Sie den Befehl "server dump" ausführen, generiert das Feature für zeitlich festgelegte Operationen einen Bericht mit Informationen zu allen Operationen, die vom Feature überwacht wurden. Sie können die in diesen Berichten aufgezeichneten Informationen verwenden, um festzustellen, ob Operationen langsamer oder schneller als erwartet ausgeführt werden.
Das System generiert regelmäßig einen Bericht zu den Protokollen, der die zehn längsten zeitlich festgelegten JDBC-Operationen enthält. Die Häufigkeit und Aktivierung dieses Berichts kann in der Datei server.xml konfiguriert werden. Die Standardeinstellung ist einmal am Tag (24 Stunden).
Wenn Sie zeitlich festgelegte Operationen aktivieren möchten, fügen Sie der Datei server.xml das Feature timedOperations-1.0 hinzu.
Sie können das Element timedOperation wie im folgenden Beispiel verwenden, um die Erstellung des Berichts zu den Protokollen zu inaktivieren oder die Häufigkeit des Berichts zu ändern, z. B. in einmal alle 12 Stunden:
<timedOperation enableReport="false" reportFrequency="12"/>
<timedOperation enableReport="false" reportFrequency="12" maxNumberTimedOperations="10000"/>
Wenn
eine neue zeitlich festgelegte Operation überwacht werden soll, wird der am längsten nicht verwendete
Datensatz für zeitlich festgelegte Operationen gelöscht, um die Anzahl der überwachten zeitlich festgelegten Operationen zu beschränken.
Wenn die Anzahl zeitlich festgelegter Opoerationen, die überwacht werden,
den angegebenen Maximalwert erreicht, wird eine Warnung wie die folgende angezeigt:
TRAS0095I: Die Gesamtanzahl terminierter Operationen hat den konfigurierten Maximalwert von 10000 erreicht. Mit der Erstellung neuer terminierter Operationen werden die terminierten LRU-Operationen (Least Recently Used) entfernt, um die Gesamtanzahl der verfolgten terminierten Operationen auf diesem Stand zu halten.
Sie können auch den Befehl server dump verwenden, um einen vollständigen Bericht zu allen zeitlich festgelegten Operationen in der Datei messages.log abzurufen. Die Operationen sind nach dem Typ gruppiert und innerhalb jeder Gruppe nach der durchschnittlichen tatsächlichen Dauer sortiert.
Nachfolgend ist ein Beispiel für eine protokollierte Nachricht aufgeführt:
[3/14/13 14:01:25:960 CDT] 00000025 TimedOperatio W TRAS0080W: Die Ausführung der Operation websphere.datasource.execute:
jdbc/exampleDS:insert into cities values ('myHomeCity', 106769, 'myHomeCountry') hat 1.541 ms gedauert und
überschreitet damit die erwartete Dauer von 0.213 ms, die auf Beobachtungen in der Vergangenheit basiert.
Das folgende Beispiel zeigt einen automatisch generierten Beispielbericht im Protokoll:
[12/13/12 7:42:29:509 CST] 0000001d com.ibm.wsspi.timedoperations.TimedOperationService I TRAS0092I:
Die folgenden Operationen weisen die längsten Ausführungszeiten seit der letzten Berichtsgenerierung auf:
Ausführungszeit der Operation websphere.datasource.execute:jdbc/exampleDS:insert into cities values ('myHomeCity',
106769, 'myHomeCounty'): 194ms
Ausführungszeit der Operation websphere.datasource.execute:jdbc/exampleDS:select county from cities where name=
'myHomeCity': 187ms
Ausführungszeit der Operation websphere.datasource.execute:jdbc/exampleDS:drop table cities: 182ms
Ausführungszeit der Operation websphere.datasource.execute:jdbc/exampleDS:insert into cities values
('myHomeCity', 106769, 'myHomeCounty'): 151ms
Die vollständige Konfigurationsreferenz für zeitlich festgelegte Operationen finden Sie unter Timed Operations.