Interaktive Reports für Java -Systeme - Performance 
Aus Sicht des Endbenutzers sind die Antwortzeiten eine der wichtigste Kriterien der Performance von Systemen und Datenbanken. Um einen schnellen Überblick über die zeitliche Entwicklung sowie die Zusammensetzung dieser Metriken zu erhalten, stehen Ihnen im Rahmen der interaktiven Reports für Java-Systeme vier Reports zur Verfügung:
Threads ( )
Der Report zeigt die Auslastung der System Threads und der Application Threads an. Dabei wird dieser Wert sowohl als Mittelwert aller Knoten des ausgewählten Systems als auch als Mittelwert des Knotens mit der jeweils maximalen Auslastung angezeigt. System Threads sind Prozesse der SAP J2EE Engine, welche Operationen der Engine selbst durchführen, während in Application Threads der Anwendungs-Code ausgeführt wird. Für beide Threads existieren Profilparameter, welche die jeweils maximale Anzahl von Prozessen festlegen, die das System im jeweiligen Thread Pool bereitstellt. Nähere Informationen hierzu finden Sie unter Thread System. Die angezeigte Auslastung ist also der Prozentsatz der jeweils aktiven Threads im Vergleich zu der konfigurierten maximal möglichen Anzahl.
Zusätzlich bietet Ihnen der Report noch die folgenden Möglichkeiten:
Sie können in der Übersicht in den Bildbereichen Hosts filtern, Instanzen filtern und Knoten filtern die anzuzeigende Auslastung der Threads auf die gewünschten Hosts, Instanzen oder Knoten einschränken.
In der Detailsicht wird die Auslastung der 10 Knoten des angezeigten Systems dargestellt, welche für die Application Threads und die System Threads die maximale Auslastung ausweisen. Auch hier können Sie dabei nach Hosts und Instanzen filtern. Sie können so neben der absoluten Last auch die Lastverteilung der Threads ermitteln.
Garbage Collection ( )
Der Report zeigt die Systemlast durch Garbage Collections an; während einer Garbage Collection (GC) kann die Java Virtual Machine keine anderen Aufgaben, zum Beispiel Benutzeranforderungen, übernehmen. Damit hat eine GC direkte Auswirkungen auf die Performance des Systems, darüber hinaus ist eine erhöhte Last für GCs ein Hinweis auf weiter gehende Performance-Probleme. Nähere Informationen hierzu finden Sie unter Funktionsweise des Local Garbage Collectors.
Grundsätzlich wird zwischen einer Minor Garbage Collection, in der nicht mehr benötigte Objekte des New Space entfernt werden, und einer Full Garbage Collection, in der nicht mehr benötigte Objekte des Old Space entfernt werden, unterschieden. Vereinfacht gesagt, wird eine Full Garbage Collection immer dann gestartet, wenn der Old Space gefüllt ist. Da der Speicherplatz des Old Space wesentlich größer ist als der des New Space, benötigt eine Full Garbage Collection wesentlich mehr Zeit, ist also wesentlich performance-kritischer. Nähere Informationen zu den verschiedenen Speicherbereichen des Java Heap finden Sie unter Interaktive Reports für Java -Systeme - Usage in der Beschreibung des Reports OLd Space Usage.
Im Einzelnen werden in dem Report die folgenden Kennziffern angezeigt:
Der Report zeigt den Anteil aller Garbage Collections an der Gesamtlaufzeit der Java-Prozesse an, und zwar sowohl der Mittelwert des angezeigten Zeitraums als auch das Maximum, das als Stundenmittelwert im angezeigten Zeitraum erreicht wird. Der Mittelwert sollte dabei nicht über 5% der Gesamtlautzeit ansteigen.
Der zahlenmäßige Anteil der Full Garbage Collections, verglichen mit der gesamten Anzahl der durchgeführten GCs, wird angezeigt. Da die Full GC besonders performance-intensiv ist, sollte dieser Wert möglichst niedrig sein und unter 5% bleiben.
Die oben genannten Kennziffern können Sie in der Übersicht in den Bildbereichen Hosts filtern, Instanzen filtern und Knoten filtern auf die gewünschten Hosts, Instanzen oder Knoten einschränken.
In der Detailsicht werden die oben genannten Kennziffern des angezeigten Systems auf Knotenebene ausgegeben. Dabei werden die Werte der 10 Knoten dargestellt, für welche die beiden genannten Anteile den maximalen Wert aufweisen. Auch hierbei können Sie nach Hosts und Instanzen filtern, um ein mögliches Problem weiter einzugrenzen.
Antwortzeiten ( )
Der Report zeigt die wichtigsten Antwortzeiten des AS Java an, um zwar im Einzelnen:
JCo-Aufrufe
Der SAP Java Connector (SAP JCo) ist eine Komponente, welche die Kommunikation zwischen AS ABAP und AS Java in beide Richtungen unterstützt.
Servlets
Servlets sind Java-Klassen, deren Instanzen Benutzeranfragen entgegen nehmen und beantworten. Die Kennzahl ist also eine Benutzerantwortzeit, d.h. sie gibt an, wie lange der Benutzer auf die Erledigung seiner Anfrage warten musste.
SQL-Statements
Diese Antwortzeit gibt an, wieviel Zeit die Datenbank benötigt hat, um eingehende Anfragen zu beantworten.
WebDynpro-Anwendungen
Diese Kennzahl gibt die Benutzer-Antwortzeit bei WebDynpro-Anwendungen aus.
Hinweis
Während Servlets und als dessen Spezialfall WebDynpro-Anwendungen Antwortzeiten aus Benutzersicht angeben, sind die Antwortzeiten JCo-Aufrufe und SQL-Statements Bestandteile der gesamten Antwortzeit, die bei der Problembehebung Hinweise darauf geben können, wo sich der Performance-Engpass befindet.
Zusätzlich bietet Ihnen der Report noch die folgenden Möglichkeiten:
Sie können in der Übersicht in den Bildbereichen Hosts filtern, Instanzen filtern und Knoten filtern die anzuzeigenden Antwortzeiten auf die gewünschten Hosts, Instanzen oder Knoten einschränken.
In der Detailsicht werden die Antwortzeiten der 10 Knoten des ausgewählten Systems dargestellt, für welche die Antwortzeit maximal ist. Dabei können Sie über vier Drucktasten wählen, auf welche der vier genannten Antwortzeiten sich die Grafik beziehen soll. Auch hier können Sie nach Hosts und Instanzen filtern.
Verwendung des Old Space ( )
Der Report zeigt die Auslastung des Effective Old Space in Prozent an.
Der gesamte Java Heap (dies ist der Speicherbereich, in dem die Java-Objekte einer Java Virtual Machine angelegt werden) ist aufgeteilt in den New Space und den Old Space (oder auch Young und Old Generation). Der New Space ist der Speicherbereich, in dem neue Java-Objekte angelegt werden. Objekte, die eine einstellbare Anzahl von Garbage Collections (GC) überlebt haben, werden in den Old Space verschoben.
Der Effective Old Space ist definiert als der Anteil des Old Space, der eine Full Garbage Collection auslöst, falls dieser vollständig gefüllt ist. Vereinfacht gesagt, ist der effective Old Space der Old Space abzüglich des New Space, da eine Full Garbage Collection immer dann gestartet wird, wenn der Old Space nicht mehr genügend freien Platz aufweist, den von einer Minor Garbage Collection aus dem New Space verschobenen Objekte aufzunehmen.
Vereinfacht gesagt, erwarten Sie bei der Auslastung des Effective Old Space einen sägezahnartigen Verlauf, da mit jeder Minor GC Objekte in den Old Space verschoben werden (und die Auslastung damit entsprechend steigt), aber nur bei einer wesentlich seltener auftretenden Full GC nicht mehr benötigte Objekte aus dem Old Space gelöscht werden. Sie können aus dem Kurvenverlauf also auch die Effektivität der Full GC ersehen.
Hinweis
Beachten Sie, dass die Auslastung des Effective Old Space über 100% liegen kann, falls der gesamte Old Space mit Objekten belegt ist.
Zusätzlich bietet Ihnen der Report noch die folgenden Möglichkeiten:
Sie können in der Übersicht in den Bildbereichen Hosts filtern, Instanzen filtern und Knoten filtern die anzuzeigende Auslastung auf die gewünschten Hosts, Instanzen oder Knoten einschränken.
In der Detailsicht werden die Auslastungen der 10 Knoten des ausgewählten Systems dargestellt, für welche die Auslastung maximal ist. Auch hier können Sie nach Hosts und Instanzen filtern.
Speicherzuordnung ( )
Dieser Report zeigt die Rate der Speicherzuordnung im New Space und im Old Space des Java Heap in Bytes pro Sekunde an. Die Allocation Rate gibt dabei die Rate der Speicherzuordnung in den New Space aufgrund der Erzeugung neuer Objekte an; die Promotion Rate gibt die Rate der Speicherzuordnung in den Old Space aufgrund der Verschiebung (Promotion) von Objekten aus dem New Space in den Old Space an. Letzteres findet bei einer Minor Garbage Collection statt.
Außerdem können Sie in den Bildbereichen Hosts filtern, Instanzen filtern und Knoten filtern die Zuordnungsraten auf die gewünschten Hosts, Instanzen oder Knoten einschränken.
Datenbank-Performance ( )
In diesem Report wird sowohl die Antwortzeit pro SQL-Statement als auch die Anzahl der SQL-Statements ausgegeben, was Ihnen einen Überblick über die Performance sowie die Nutzung der Datenbank gibt.
Hinweis
Informationen, wie Sie die gewünschten Systeme und das anzuzeigende Zeitintervall bestimmen können, sowie wie Sie das interaktive Reporting aufrufen, finden Sie unter Verwendung des interaktiven Reporting.
Informationen über die verschiedenen Anzeigemöglichkeiten der Reports für Java-Systeme bezüglich Metriken, Schwellenwerte und Instanzen finden Sie unter Interaktive Reports für Java-Systeme.