Reading Sample
2.1 Performance-Analyse
In SAP-Systemen gibt es verschiedene Hilfsmittel zur Performance-Analyse, u.a.
- Performance-Trace mit der Transaktion ST05,
- ABAP-Laufzeitanalyse mit der Transaktion SAT
- Speziell für die HANA-Datenbank: der SAP HANA Plan Visualizer, dieses Tool ist in der SQL-Konsole des HANA Studio verfügbar.
- Single-Transaction-Analyse mit der Transaktion ST12.
- Systemübergreifende Perfromanceanalyse z.B. mit dem DBA-Cockpit oder mit dem SQL-Monitor. Beide Werkzeuge werden im Regelfall vom SAP-Basisteam verwendet und werden daher hier nicht weiter betrachtet.
Im folgenden Abschnitt finden Sie die zwei erstgenannten Tools eingehender erläutert.
2.1.1 Analyse mit der Transaktion ST05
Das wohl bekannteste Hilfsmittel zur Performance-Analyse ist die Transaktion ST05. Alternativ kann das Pull-down-Menü System • Hilfsmittel • Performance-Trace verwendet werden. Dieser Performance-Trace kann verschiedene Performance-/Leistungsanalysen durchführen:
- SQL-Trace – protokolliert Datenbank-Zugriffe von Programmen und Transaktionen,
- RFC-Trace – protokolliert instanzübergreifend den Aufruf von RFC-Funktionsbausteinen,
- Enqueue-Trace – protokolliert das Sperren von Objekten,
- Puffer-Trace – protokolliert, welche Zugriffe auf den Tabellenpuffer erfolgen und wie der Tabellenpuffer geladen wird,
- HTTP-Trace – Analyse der Datenschnittstelle zwischen SAP und Web-Application-Server beim Einsatz von Web-Dynpros.
Die Performance-Analyse erlaubt die Protokollierung von einem oder mehreren dieser Aspekte. In der näheren Betrachtung beschränken wir uns auf den SQL-Trace, also die Protokollierung von Datenbank-Zugriffen.
In einem Bildschirmmodus rufen wir das Beispiel-Programm ZCU_ABAP_PERFORMANCE auf und wählen die Programmiertechnik »VIEW«. Über einen View mit Vertragskonten (FKKVKP), deren Verträge (EVER) und die Customizing-Tabelle TE097AT (Texte zum Kontenfindungsmerkmal) wird eine Selektion ausgeführt.
Bevor das Programm gestartet wird, rufen wir in einem zweiten Bildschirmmodus mit der Transaktion ST05 die Performance-Analyse auf (siehe Abbildung 2.1).
Abbildung 2.1: Selektionsbildschirm der Transaktion ST05 (Performance-Trace)
Nachdem wir den SQL-Trace ausgewählt und den Filter auf den eigenen Usernamen eingeschaltet haben, starten wir durch Anklicken des Buttons die Protokollierung von Datenbank-Zugriffen des Users.
Keine parallelen Programmläufe bei der Performance-Analyse mit der Transaktion ST05
Bei der Performance-Analyse mit der Transaktion ST05 ist darauf zu achten, dass unter Ihrem User keine weiteren Programme auf dem System laufen (z.B. Hintergrundprogramme), da ansonsten die Analyse falsche Ergebnisse liefert.
Jetzt wird das zu analysierende Programm ZCU_ABAP_PERFORMANCE gestartet. Sobald dieses Programm die selektierten Daten zur Anzeige bringt, wechseln wir wieder in den Bildschirmmodus für den SQL-Trace und verwenden den Button , um die Protokollierung zu beenden.
Die Anzeige des SQL-Trace wird über den Button gestartet.
Abbildung 2.2: Selektionsbild zur Anzeige des SQL-Trace
Im darauffolgenden Bild (siehe Abbildung 2.2) können Einschränkungen zur Selektion des Performance-Trace vorgenommen werden. In diesem Selektionsbild ist der Zeitraum voreingestellt, in dem der User den letzten Performance-Trace ausgeführt hat. Wird diese Auswahl ohne Änderungen mit dem Icon bestätigt, erhalten Sie das Protokoll der Datenbank-Zugriffe des letzten Programmlaufs.
Abbildung 2.3: SQL-Trace eines Programmlaufs mit der Programmiertechnik »VIEW«
Der Protokollausschnitt in Abbildung 2.3 zeigt, dass die Selektion von 372.420 Datensätze durch das Programm insgesamt 2.860.928 Mikrosekunden (0,000001 Sekunden) dauerte. Also benötigte der Programmlauf ca. 2,86 Sekunden.
Abbildung 2.4: Button-Leiste im SQL-Trace
Auf bestimmten Zeilen ist ein direkter Absprung in den protokollierten Quellcode durch einen Doppelklick auf einen der in Abbildung 2.4 gezeigten Icons möglich. So können für diese Zeilen weitere Informationen aus dem Trace-Protokoll gewonnen werden, z.B.
Standard ALV-Grid Funktionen anzeigen: ermöglicht die Verwendung von Standard-ALV-Grid Funktionen für weitere Auswertungen des angezeigten Protokolls (z.B. Sortierung, Filter, Zwischensummen, etc).
Anweisung anzeigen: Hier werden Details zur markierten Zeile, z.B. Details zum View, angezeigt (siehe Abbildung 2.5).
DDIC Informationen anzeigen: zeigt Dictionary-Informationen zum Objekt (siehe Abbildung Abbildung 2.6).
Ausführungplan anzeigen: Hier werden Ihnen Detailinformationen über die Ausführung des Views in der HANA-Datenbank angezeigt (siehe Abbildung 2.7).
Abbildung 2.5: Anzeige des Select-Statements im SQL-Trace
Abbildung 2.6: Dictionary-Informationen im SQL-Trace
Abbildung 2.7: Auführungsplan der HANA-Datenbank zur Selektion der Daten
Mit dem im Ausführungsplan der HANA-Datenbank erhalten Sie einen Einblick in die Strategie des Datenbanksystems zur Selektion der Daten.
2.1.2 Laufzeitanalyse mit der Transaktion SAT
Mit der Transaktion SAT können Laufzeitanalysen beliebiger ABAP-Programme durchgeführt werden. Diese Transaktion ist die modernere Alternative zur »alten« Transaktion SE30.
Die ABAP-Laufzeitanalyse ermöglicht eine vollständige Prüfung des Programms, und geht damit deutlich über die reine SQL-Analyse der Transaktion ST05 hinaus. Zur Erläuterung der Laufzeitanalyse nutzen wir die Transaktion SAT für einen Programmlauf des ZCU_ABAP_PERFORMANCE (siehe Abbildung 2.8).
Geben Sie der Laufzeitanalyse eine Bezeichnung (hier: Selektion mit View). Verwenden Sie im Selektionsbild im Subscreen Im Dialog den Radiobutton Programm und geben Sie in das leere Feld dahinter den Namen des Programmes ein (hier ZCU_ABAP_PERFORMANCE), für das eine Laufzeitanalyse durchgeführt werden soll. Weitere Eingaben sind nicht erforderlich.
Abbildung 2.8: Start der Performance-Analyse mit der Transaktion SAT
Mit dem Button starten Sie das Programm ZCU_ABAP_PERFORMANCE. Es wird zunächst dessen Selektionsbildschirm angezeigt. Hier tätigen Sie die erforderlichen Angaben und starten das Programm.
Nach Beendigung des Programmlaufs kehren Sie mit zweimaliger Betätigung des Icons zurück in die Laufzeitanalyse, die Sie in zunächst in der Übersicht sehen (siehe Abbildung 2.9).
Abbildung 2.9: Übersicht der SAT-Laufzeitanalyse
Unter dem Reiter Desktop 1 kann der Entwickler im linken Bildschirmteil erkennen, in welchen Programmteilen und bei welchen Datenbankzugriffen das Programm wie viel Zeit zur Abarbeitung der Befehle benötigt hat (Laufzeitanalyse; siehe Abbildung 2.10).
Die rechte Bildschirmseite der Laufzeitanalyse ermöglicht die zeitgleiche Betrachtung verschiedener Analyse-Ergebnisse.
Abbildung 2.10: Laufzeitmessungen
Über den Reiter Hitliste lassen sich gleichartige Trace-Ereignisse zusammenfassen. Die Zeiten der jeweiligen Trace-Ereignisse werden dabei aufsummiert. Der Reiter DB-Tabellen zeigt die im Programm verwendeten Datenbank-Tabellen und die Zeiten für den Zugriff auf diese (siehe Abbildung 2.11).
Abbildung 2.11: Datenbank-Zugriffe und deren Zeiten
Unter dem Reiter Zeiten werden für die Bearbeitung von Programmbefehlen und Programmereignissen (Events) benötigten Zeiten aufgeführt (siehe Abbildung 2.12).
Abbildung 2.12: Zeiten für die Bearbeitung Anweisungen und Events
Wie die Abbildungen der Laufzeitanalysen zeigen, werden in diesen Darstellungen auch die Datenbank-Zugriffe und Programmbefehle von SAP-Systemprogrammen aufgeführt, auf die der Entwickler nur wenig Einfluss hat.
Wie Sie sehen konnten, bietet die ABAP-Laufzeitanalyse der Transaktion SAT im Vergleich zum Performance-Trace der Transaktion ST05 erheblich detailliertere Analysemöglichkeiten für den ABAP-Entwickler.
All contents. Learn more. Discover now.
et.training - Your learning platform for SAP software
- Access to all learning content1
- Regular new releases
- Intelligent search algorithm
- Innovative reading experience
- Customized learning paths
- Certificates & QA tests2
1 You get access to all learning content. Online trainings, certificates are NOT part of the flat rate.
2 More information on request.