Performance-Analyse mit DSRs 
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 DSRs finden Sie im Administrationshandbuch unter Distributed Statistics Records (DSRs).
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 . 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.

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.

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.

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.

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.

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.
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.