Show TOC

BeispieldokumentationPerformance-Analyse mit DSRs Dieses Dokument in der Navigationsstruktur finden

 

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 Hinweis

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

Ende des Hinweises

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

Serviceart

Aktionsart

SAPJ2ENode

Web Request

EJB Request

Sicherheit

System

http

https

RMI

JMS

session

appInt

appDestroy

Im zentralen System werden die DSRs im globalen Systemlastmonitor, Transaktion ST03G, angezeigt (Informationen zum Setup finden Sie unter DSR-Komponente im globalen Systemlastmonitor anzeigen).

Wenn Sie nach der Ursache eines heute aufgetretenen Problems suchen, wählen Sie die Ansicht   SAPJ2ENode<...>   <Servername>   Tag   Heute  . Wählen Sie aus der Analyse-Auswahl Systemlastübersicht.

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

Die Abbildung wird im Begleittext erläutert.

Wählen Sie die Analysesicht Aktionsprofil. Es werden alle Aktionen aller Servicearten unter Mittlere Werte pro Schritt angezeigt. Im Beispiel hat die Anwendung EncyclopediaPages eine durchschnittliche Antwortzeit, die acht Mal höher ist als die zweitlangsamste Anwendung.

Die Abbildung wird im Begleittext erläutert.

Wählen Sie aus der Dropdown-Listbox Service die Serviceart EJB Request. Sie befinden sich weiterhin in der Analysesicht Aktionsprofil.

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

Die Abbildung wird im Begleittext erläutert.

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 Analysesicht Antwortzeitverteilung wechseln: Im Bereich von 3-10 Sekunden Antwortzeitdauer gibt es eine sehr hohe Anzahl an Einträgen.

Die Abbildung wird im Begleittext erläutert.

Nun sollten Sie überprüfen, ob das Problem mit einem bestimmten Benutzer in Zusammenhang steht. Wechseln Sie hierzu in die Analysesicht Aufrufstatistik, Registerkarte Aktion, und doppelklicken Sie auf die auffällige Anwendung, in unserem Beispiel EncyclopaediaPages. Hierdurch öffnen Sie die Detailsicht Aktionsdetails und sehen die Ausführzeiten benutzerspezifisch.

Die Abbildung wird im Begleittext erläutert.

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 Analysesicht auf der Registerkarte Komponenten überprüfen, ob die Probleme beim Datenbankzugriff auftreten. Die Datenbankzugriffe in unserem Beispiel sind normal.

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 Anwendungs-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 Quelltext einblenden, um zu sehen, wo das Programm geändert werden muss, um eine bessere Performance zu erzielen.