Optimierung hilft Kosten sparen

Montag, 13. Februar 2017, 14:02 Uhr

Möglichkeiten und Nutzen von Performanceoptimierung in SAP-Systemen

Ob es in SAP-Systemen zu kritischen Lastsituationen kommt, Anwender wertvolle Zeit durch langsame Prozesse verlieren oder gar Prozesse innerhalb enger Zeitschranken abgeschlossen sein müssen, in all diesen Situationen ist es sinnvoll, die betroffenen bzw. kritischsten Prozesse zu beschleunigen. Auch Neuentwicklungen müssen sich oft bis zur Produktionsreife zahlreichen Tests stellen, bei denen die Performance überzeugen muss. Schließlich ist die Nutzerakzeptanz von Anwendungen sehr von deren Performance abhängig. Es gibt viele Gründe für ausgebremste Prozesse und ebenso viele Ansätze, die Laufzeit zu verbessern und somit die Effizienz des SAP-Systems und seiner wichtigsten Prozesse deutlich effizienter zu gestalten.

Probleme mit Prozessen können auf vielfältige Weise entstehen. Nicht immer liegt es an den verwendeten Programmen, denn zum Beispiel können auch Systemengpässe eine entscheidende Rolle spielen. Daher ist stets anzuraten, das System im Ganzen zu überprüfen und dafür Sorge zu tragen, dass die Systemperformance durch passende Konfiguration und permanentes Überwachen hochgehalten wird. Ist das System ungünstig konfiguriert, weil zum Beispiel die Workprozesse zu eng begrenzt sind, nützen auch effiziente Prozesse und die beste Hardware nichts mehr. Kann man dazu keine ausreichenden Hardware-Ressourcen gewährleisten, kann dies die prozessbezogenen Probleme weiter verstärken.

Doch auch auf einem schnellen System können Prozesse stocken und müssen individuell analysiert werden. Dann gilt es, das Prozessverhalten zu hinterfragen: wie viel Zeit benötigen ähnliche Prozesse bei vergleichbaren Datenmengen? Sind die verwendeten und bearbeiteten Datenmengen innerhalb der Anwendung sinnvoll oder unnötig aufgebläht? Sind sie gar veraltet und wurden schon durch neue ersetzt? All diese und weitere Punkte müssen bei einer Prozessanalyse beachtet werden. Erscheint die Laufzeit bestimmter Prozesse noch immer zu hoch, ist eine Performanceanalyse angebracht.

Welche Vorteile bietet eine Performanceanalyse?

1. Kosten sparen
Durch beschleunigte Prozesse können geschäftskritische Aktionen schneller erledigt werden, was effektiv Kosten spart. Des Weiteren ist es leichter, Fristen bei besonders zeitkritischen Prozessen einzuhalten. Auch die Hardwarekosten sind bei effizienter Nutzung geringer als bei erhöhter Systemlast durch ineffiziente Prozesse.

2. Verbesserung der Mitarbeiterzufriedenheit
Aufgrund einer höheren Systemverfügbarkeit und schnellerer Abläufe werden die Arbeitsprozesse der Mitarbeiter optimiert. Das führt wiederum zu einer verbesserten Motivation und Akzeptanz.

3. Proaktive Problemerkennung und -behebung
Eine rechtzeitige proaktive Erkennung und Beseitigung potentieller Probleme kann durch eine geplante Prozessoptimierung während der Testphase gewährleistet werden. Denn die kleinsten Probleme sind die, die Nutzer in einer produktiven Umgebung gar nicht erst erfahren und daher nicht melden.

Doch wo können in einem SAP-Prozess die Probleme überhaupt entstehen?

Layer_graphic

Diese Grafik illustriert die performance-relevanten Ebenen, die während eines Prozesses üblicherweise durchlaufen werden.


1. Presentation Layer

Zum Beispiel können Probleme durch die Darstellung entstehen, weil das Netzwerk zwischen dem Frontend und dem Applikationsserver zu langsam ist. Dabei spielt auch die Datenmenge eine Rolle, die für die Darstellung verwendet werden. Bei Verzögerungen in diesem Bereich bilden Redundanz und Customizing ein häufiges Optimierungspotential.

2. Application Layer
Auf den Applikationsservern findet die grundlegende Programmverarbeitung statt. Hier werden Daten prozessiert, verändert und für den Anwender aufbereitet. In diesem Bereich gibt es eine Vielzahl an potentiellen Problemen, da die üblicherweise verwendeten ABAP-Programme auf eine effiziente Implementierung angewiesen sind. Ineffiziente Programme können die Systemressourcen zudem über Gebühr beanspruchen und zu systemweiten Engpässen führen.

3. Database Layer
Datenbankzugriffe werden von den Applikationsservern initiiert und an die Datenbankserver zur Verarbeitung weitergereicht. Potentielle Engpässe entstehen auch durch einzelne Prozesse, die unnötige, identische oder zu ineffiziente Abfragen generieren, die die Antwortzeit erhöhen und generell zu mehr Last auf dem Datenbanksystem führen. Mögliche Nebenwirkungen sind zudem Lastprobleme auf der Datenbank, was systemweit Auswirkungen auf die Datenbankperformance haben kann.

Umgekehrt ist es natürlich auch wichtig, im Zuge der zuvor genannten generellen Systemchecks, eine schnelle Datenbank zu gewährleisten. Dabei helfen auch Datenvolumenreduktionen, deren Notwendigkeit bei einer Prozessanalyse auffallen kann.

4. Operating System Layer
Die Server mit ihren Betriebssystemen bilden die Grundlage aller Datenverarbeitungen. Genau wie schnelle Server und günstige Einstellungen die schnellere Abarbeitung von Prozessen begünstigt, so fördern optimierte Programme auch die effektive Nutzung der systemeigenen Hardware. Eine Performanceanalyse dient außerdem dazu, die Server durch effiziente Prozesse zu entlasten und somit positiv zur Systemverfügbarkeit beizutragen.

Auch andere Systeme, die in Kommunikation zum analysierten System stehen, sind möglicherweise von langlaufenden Prozessen und suboptimaler Systemperformance betroffen.

Welche Prozesse sollten analysiert werden?

Wie erwähnt, kann es viele Gründe und verschiedene Arten von Prozessen geben, die einer Performanceanalyse unterzogen werden sollten. Gerade Kundenentwicklungen sind anfällig für Schwächen im Programmablauf, da diese nicht von den Verbesserungen neuer Patches profitieren können. Zudem durchlaufen diese Programme häufig eine Testphase auf den kundeneigenen Testsystemen. Die BIT.Performanceoptimierung, ein Service der BIT.Group GmbH, setzt hier an – auch bei Standardprogrammen. Die möglichen Problemfelder werden dabei mit einem Paket prozessbezogen sowie datenbank- und produktunabhängig analysiert.

Areas_graphicUm die Optimierungspotentiale zu analysierender Schritte herauszuarbeiten, wird eine Laufzeitanalyse durchgeführt. Dabei helfen die SAP-eigenen Tools zum Aufzeichnen aller ausgeführten Schritte.

Detaillierte Laufzeitmessungen innerhalb des SAP-Systems können mit den Transaktionen ST12 und SAT oder mit dem SAP Client Plugin des Internet Explorers (unter Einbeziehung des Frontends der WebUI) durchgeführt werden. Mithilfe eines entsprechenden Hardware-Monitorings, wie beispielsweise des /SDF/MON-Tools, werden alle Teile der Prozesskette mit ihren Laufzeiten erfasst, da auch die Datenbankschritte durch die Einbindung der Transaktion ST05 aufgezeichnet und mit ausgewertet werden. Dabei werden die Verknüpfungen von Aufrufen im ABAP-Coding zu den entsprechenden Datenbankabfragen automatisch erzeugt.

Für die Laufzeitmessung existieren unterschiedliche Modi. Bestimmte Systemuser und Reporte können genauso gefiltert und gemessen werden, wie eigene ausgeführte Schritte oder bestimmte Workprozesse. Dazu können auch dazugehörige Statistiksätze gesammelt und mit der Messung verknüpft werden. Basierend auf den gesammelten Trace-Dateien können schließlich Optimierungspotentiale für die gemessenen Schritte abgeleitet werden.

Diese befinden sich naturgemäß in den am längsten laufenden Programmbestandteilen, sei es inklusive oder exklusive seiner Unteraufrufe. Diese Bestandteile sind ein entscheidender Faktor in der Prozesslaufzeit. Die Analyse zeigt nicht nur, welche Laufzeitelemente teuer sind, sondern auch anhand spezifischer Kennzahlen, wie Datenmengen und Anzahl von Aufrufen, wie effizient die aufgezeichneten Algorithmen sind.

So konnten mit Hilfe dieser Werkzeuge beachtliche Optimierungspotentiale herausgearbeitet werden. Beispielsweise wurden für einen kritischen Prozess im SAP-System eines bekannten Getränkeherstellers, der über eine Stunde lief und gelegentlich auch abbrach, mit Hilfe der Performanceoptimierung die Laufzeit auf 25 Minuten reduziert. Der Prozess arbeitete anschließend stabil und wurde nicht mehr unterbrochen. Dies war das Ergebnis mehrerer Maßnahmen, die auch die Vielschichtigkeit von Laufzeitproblemen aufzeigen.

Es wurden Vorschläge für das ABAP-Coding eines kundeneigenen Programms erarbeitet, die dessen Effizienz verbesserten. Weiterhin ist es gelungen, die Datenbankperformance für den Prozess durch ein verbessertes Indexdesign, sowie die Nutzung des SAP-Tabellenpuffers zu erhöhen. Natürlich spielte bei der Tabellenpufferung auch die Systemkonfiguration eine Rolle. Außerdem wurden Optimierungspotentiale durch passende SAP-Hinweise herausgearbeitet. Schließlich verblieb noch weiteres Optimierungspotential durch mögliche Datenarchivierung. Diese wirkt sich wiederum nicht nur auf den analysierten Prozess positiv aus.

Dieses Beispiel zeigt, wie viel Potential eine Performanceoptimierung birgt, und wie die Nutzer, das Unternehmen sowie auch andere Prozesse davon profitieren können.

Zusammenfassend gibt es viele Szenarien, seien es die beschriebenen Akzeptanzprobleme der Systemnutzer, Laufzeittests von vorproduktiven Programmen, Lastauswirkungen auf das Gesamtsystem oder kritisches Laufzeitverhalten durch Prozessketten, in denen eine Performanceanalyse wichtig ist. Die Optimierung der Prozesse ist eine wichtige Investition in den Arbeitsalltag sowie in die dauerhafte Niedrighaltung laufender Kosten, wie beispielsweise für Hardware.

Zum Autor

Jan Lerche, Professional Support Engineer bei der BIT.Group GmbH

Jan Lerche arbeitet als Professional Support Engineer bei der BIT.Group GmbH, einem mittelständischen IT-Dienstleister mit Hauptsitz in Bautzen und Niederlassungen in Dresden, Hannover und Shanghai. Jan hat mehr als 5 Jahre Erfahrung im SAP-Umfeld und insbesondere mit Performanceanalysen. Zusammen mit seinen Kollegen hat er zahlreiche Performanceanalyse-Projekte durchgeführt, bei denen teils enorme Laufzeitverbesserungen realisiert wurden.

 

Dieser Artikel erschien ursprünglich im S@PPORT Ausgabe 01/02 2017.


BIT.Group GmbH

Logo.jpg20170221 14897 1cgoqo6
Unter dem Dach der BIT.Group sind mehr als 350 IT-Spezialisten mit umfangreichem SAP Know-how beschäftigt. Für seine Kunden ist das Unternehmen an den Standorten Bautzen, Dresden, Hannover und Shanghai als kompetenter Ansprechpartner unmittelbar präsent. Die BIT.Group GmbH (BIT) steht für geballte SAP Kompetenz. Als mehrfach zertifizierter Partner der SAP gehören Dienstleistungen wie Beratung, Entwicklung, IT-Infrastrukturmanagement und Support zu unseren Kernkompetenzen. Dienstleistungen werden als Remote Service sowie vor Ort bei den Kunden erbracht. Seit Juni 2016 gehört die BIT offiziell zur itelligence AG, einem der international führenden IT-Komplettdienstleister im SAP-Umfeld. Sehen. Verstehen. Lösen - EXZELLENTE SAP TECHNOLOGIEKOMPETENZ WELTWEIT.