Anfang des Inhaltsbereichs

Diese Grafik wird im zugehörigen Text erklärt Performance-Analyse mit DSRs Dokument im Navigationsbaum lokalisieren

Zeigt ein System schlechte Performance-Werte und scheint langsam zu sein, kann eine Auswertung der Statistiksätze, der so genannten Distributed Statistics Records (DSRs), sehr aufschlussreich sein. Die (Java-) DSRs werden vom DSR Service geschrieben und über den Agenten SAPCCMSR in das Zentrale System transportiert.

Hinweis

Informationen über die Funktionweise der Distributed Statistics Records finden Sie im Administrationshandbuch unter StrukturlinkDistributed Statistics Records (DSRs)

In den DSRs werden Antwortzeiten J2EE Engine (SAPJ2ENode) mit allen deployten Anwendungen gesammelt. Folgende Service- und Aktionsarten werden unterschieden:

 

Serviceart

Aktionsart

SAPJ2ENode

Web Request
EJB Request
Security
System

http
https
RMI
JMS
session
appInt
appDestroy

 

Im zentralen System werden die DSRs im Globalen Systemlastmonitor, Transaktion ST03G, angezeigt.

Wenn Sie nach der Ursache eines heute aufgetretenen Problems suchen, wählen Sie die Ansicht SAPJ2ENode<...>  ® <Server Name>  ®Day  ®Today. Wählen Sie aus der Analyse-Auswahl  ® Workload Overview.

 

Im Beispiel sehen Sie, dass die durchschnittliche Antwortzeit für EJB Requests außergewöhnlich hoch ist.

 

 

Diese Grafik wird im zugehörigen Text erklärt
Wählen Sie die Analysemethode-Sicht Action Profile. Hier sehen Sie unter Average Values per Step alle Aktionen von allen Servicearten, sortiert nach der längsten durchschnittlichen Antwortzeit. Im Beispiel hat die Anwendung „EncyclopediaPages“ eine durchschnittliche Antwortzeit, die acht Mal höher ist als die zweitlangsamste Anwendung.

 

Diese Grafik wird im zugehörigen Text erklärt
Wählen Sie im Menü Service die Serviceart EJB Request. Sie befinden sich weiterhin in der Analysemethode-Sicht Action Profile.

Wählen Sie die Analysemethode Time Profile. Hier können Sie feststellen, ob die schlechten Antwortzeiten der Anwendung in einem begrenzten Zeitraum aufgetreten sind oder zu einem bestimmten Zeitpunkt begonnen haben.

Diese Grafik wird im zugehörigen Text erklärt

Hier sehen Sie, dass das Problem nicht einem bestimmten Zeitintervall zugeordnet werden kann und es ein konstantes Performance-Problem im Zusammenhang mit dieser Anwendung gibt.

 

Überprüfen Sie auch die Antwortzeitverteilung, indem Sie in die Analysemethode-Sicht  Response Time Distribution wechseln: Im Bereich von 3-10 Sekunden Antwortzeitdauer gibt es eine sehr hohe Anzahl an Einträgen.

 

Diese Grafik wird im zugehörigen Text erklärt

Nun sollten Sie überprüfen, ob das Problem mit einem bestimmten Benutzer in Zusammenhang steht. Wechseln Sie hierzu in die Analysemethode-Sicht Call Statistics, Registerkarte Action, und doppelklicken Sie auf die auffällige Anwendung, in unserem Beispiel „EncyclopaediaPages“. Hierdurch öffnen Sie die Detailsicht Action Details und sehen die Ausführzeiten benutzerspezifisch.

 

Diese Grafik wird im zugehörigen Text erklärt
In dieser Detailsicht erkennen Sie, dass alle Werte der unterschiedlichen Benutzer annähernd gleich sind. Das Problem ist also nicht benutzerspezifisch.

 

Nun können Sie in der gleichen Analysemethode-Sicht auf der Registerkarte Components überprüfen, ob die Probleme beim Datenbankzugriff auftreten. Die Datenbankzugriffe in unserem Beispiel sind unauffällig.

Ergebnis: Der Fehler scheint in der Anwendung selbst zu liegen.

 

Da die Anwendung in unserem Beispiel eine selbstgeschriebene Anwendung in einem Entwicklungssystem ist, ist es unproblematisch, die Anwendung zu stoppen bzw. durchzustarten.

Daher können Sie das StrukturlinkApplication Tracing starten und die Anwendung bis auf Methodenebene untersuchen, um die Stellen des Programms zu finden, an denen die meiste Zeit verbraucht wird. Über einen Decompiler können Sie den Source-Code einblenden, um zu sehen, wo das Programm geändert werden muss, um eine bessere Performance zu erzielen.

 

 

 

 

 

Ende des Inhaltsbereichs