Transaktion SAT (Laufzeitanalyse)
Siehe Transaktion ST05 (Performance Trace).
Über die Transaktion SAT (und SE30) "Laufzeitanalyse" lassen sich Aufzeichnungen von einer Transaktion, einem Programm oder einem Funktionsbaustein erfassen. Das Programm/Transktion/Funktionsbaustein wird eingegeben und dann auf "Ausführen" geklickt. Das Programm wird ganz normal ausgeführt. Nach der Ausführung wird die Aufzeichnung durch den "Zurück"-Button beendet.
Die Transaktion SAT ist ähnlich der Transaktion SE30 (ABAP Laufzeitanalyse). Wenn man (in einem neuen Release) die Transaktion SE30 aufruft, dann kommt ein Dialogbildschirm, der empfiehlt die neue Transaktion SAT zu nutzen.
Die Auswertung lässt sich dann über die Schaltfläche "Auswertung" aufrufen. Im dann erscheinenden Fenster wird die Ausführungszeit in Mikrosekunden und die prozentuale Verteilung der benötigen Zeit für ABAP (benötigte Zeit auf dem Applikationsserver), Datenbank und System aufgeführt. Dies gibt erste Hinweise, ob die Performancelast auf der Datenbank oder dem Applikationsserver liegt.
Nach einem Klick auf das Symbol "Hitliste" werden in zeitlich absteigender Reihenfolge diverse Programm- und Systemstatements aufgeführt. Wenn ein Statement markiert wird und dann das Symbol "Quelltext anzeigen" geklickt wird, wird der Quellcode für das Programm aufgerufen.
Einstiegstransaktion SAT (Laufzeitanalyse)
Im Einstiegsbildschirm gibt man die Transaktion, das Programm oder den Funktionsbaustein ein, den man messen will.
In diesem Fall ist es ein Programm "../MM_P_KOND_ZF10_TAB_A523".
Auswahl Laufzeitanalyseobjekt
Nach einem Klick auf wird das Programm aufgerufen.
Ausführen Analyseobjekt
Man führt nun ganz normal das Programm aus mit der gewünschten Selektion.
In diesem Fall brauchte es ca. 30 Sekunden, bis die ALV-Liste ausgegeben wurde.
Geht man nun aus der ALV-Liste und dem Selektionsbildschirm wieder zurück, erscheint der Ergebnisbilschirm der Transaktion SAT.
Anzeige Analyseergebnisbildschirm
Spalte Net [%]
In der Spalte "Net [%]" sieht man die prozentuale Verteilung, welcher Programmteil am meisten Zeit benötigt hat. Die Summe über diese Spalte ergibt immer 100%. Die erste 3 Blöcke verbrauchen zusammen über 90% der Laufzeit des Programms und lohnen sich näher anzuschauen. In der Spalte "Net [microsec]" sieht man die benötigte Nettozeit der Blücke. Die Summe über diese Spalte ergibt in diesem Fall 28,886 sec.
Öffnen Programmeinheit per Doppelklick
Ein Doppelklick auf die erste Zeile mit "DB: Open A523" öffnet den ABAP-Editor mit dem entsprechenden ABAP-Coding. Die nachfolgenden Zeilen entsprechend.
Hit-List
Bei den Hits sieht man wie oft ein Codingblock ausgeführt wird. Beim ersten Block und beim dritten Block entspricht dies der Anzahl der Aufrufe im Loop. Warum bei der zweiten Zeile "34" steht, obwohl im Coding dieser komplexe Inner-Join nur einmal ausgeführt wird, weiß ich nicht, aber wird mit der internen Datenbankorganisation zusammenhängen.
Web-Links
- You Tube ABAP Channel Transaction SAT