Leseprobe
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 oder
- Single-Transaction-Analyse mit der Transaktion ST12.
Im folgenden Abschnitt finden Sie die beiden 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.
- Indexfelder der Tabelle bzw. Views,
- alle selektierten Tabellenfelder
- die beteiligten Tabellen,
- alle Indizes beteiligter Tabellen.
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«. Es wird eine Selektion von 2.295 Datensätzen für eine Anzahl von 300 Geschäftspartner-Nummern über die Datenbank-Tabellen BUT000 (Geschäftspartner), FKKVKP (Vertragskonten) und EVER (Verträge) 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 haben, starten wir durch Anklicken des Buttons die Protokollierung von Datenbank-Zugriffen des Users.
Keine parallelen Programmläufe bei der Performance-Analyse
Bei der Performance-Analyse 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«
Das Protokoll in Abbildung 2.3 zeigt, dass die Selektion der Daten insgesamt 46.486 Mikrosekunden (0,000001 Sekunden) dauerte. Also benötigte der Programmlauf ca. 0,046 Sekunden.
Auf bestimmten Zeilen ist ein direkter Absprung in den protokollierten Quellcode durch einen Doppelklick auf einen der in Abbildung 2.4 gezeigten Buttons möglich. So können für diese Zeilen weitere Informationen aus dem Trace-Protokoll gewonnen werden.
Abbildung 2.4: Button-Leiste im SQL-Trace
Der Button etwa zeigt das in der entsprechenden Zeile protokollierte SELECT-Statement (siehe Abbildung 2.5).
Abbildung 2.5: Anzeige des Select-Statements im SQL-Trace
Mit dem Button öffnen sich die Dictionary-Informationen zu der Tabelle oder dem View im SELECT-Statement (siehe Abbildung 2.6).
Abbildung 2.6: Dictionary-Informationen im SQL-Trace
Über die Button-Leiste in dieser Anzeige sind wiederum weitere Informationen abrufbar:
Mit dem Button im SQL-Trace erhalten Sie einen Einblick in die Strategie des Datenbanksystems zur Selektion der Daten: die geschätzten Kosten und die geschätzte Anzahl selektierter Zeilen. Diese beiden Werte können lediglich als Vergleichs-, aber nicht als absolute Werte verwendet werden.
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 SE05 hinaus. Zur Erläuterung der Laufzeitanalyse nutzen wir die Transaktion SAT für einen Programmlauf des ZCU_ABAP_PERFORMANCE (siehe Abbildung 2.7).
Verwenden Sie im Selektionsbild in der Rubrik Im Dialog den Radiobutton Programm und geben Sie in das leere Feld dahinter den Namen des Programmes ein, für das eine Laufzeitanalyse durchgeführt werden soll. Weitere Eingaben sind nicht erforderlich.
Abbildung 2.7: Selektionsbild der Transaktion SAT
Mit dem Button starten wir das Programm ZCU_ABAP_PERFORMANCE. Es wird zunächst dessen Selektionsbildschirm angezeigt. Hier tätigen Sie die erforderlichen Angaben und starten das Programm. In diesem Beispiel verwenden wir die Programmlaufvariante »View mit Vorselektion«.
Nach Beendigung des Programmlaufs kehren Sie mit zweimaliger Betätigung des Icons zurück in die Laufzeitanalyse, die Sie in Abbildung 2.8 zunächst in der Übersicht sehen.
Abbildung 2.8: Laufzeitanalyse eines Programmlaufes
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 (siehe Abbildung 2.9).
Die rechte Bildschirmseite der Laufzeitanalyse ermöglicht die zeitgleiche Betrachtung verschiedener Analyse-Ergebnisse.
Abbildung 2.9: 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.10).
Abbildung 2.10: Datenbank-Zugriffe und deren Zeiten
Unter dem Reiter Zeiten werden die für Programmbefehle benötigten Zeiten detailliert aufgeführt (siehe Abbildung 2.11).
Abbildung 2.11: Zeiten von 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 SE05 erheblich detailliertere Analysemöglichkeiten für den ABAP-Entwickler.
Alle Inhalte. Mehr Informationen. Jetzt entdecken.
et.training - Ihre Lernplattform für SAP-Software
- Zugriff auf alle Lerninhalte1
- Regelmäßige Neuerscheinungen
- Intelligenter Suchalgorithmus
- Innovatives Leseerlebnis
- Maßgeschneidere Lernpfade
- Zertifikate & QA-Tests2
1 Sie erhalten Zugriff auf alle Lerninhalte. Online-Trainings, Zertifikate sind NICHT Teil der Flatrate.
2 Weitere Informationen auf Anfrage.