Analyse von Fehlern und Optimierungen
SAP-Workprozesse der ABAP-Instanz
Applikationsschicht: Die Applikationsschicht ist der Kern eines R/3 SAP-Basis Systems. Diese Schicht kommuniziert in beide Richtung, sowohl an die Präsentationsschicht als auch an die Datenbankschicht. Mit den Anwendungsprogrammen auf den Applikationsservern werden die benötigten Daten aus der Datenbankschicht angefordert, verarbeitet, für den Nutzer aufbereitet und an die Präsentationsschicht weitergegeben. Daten die der Anwender in die Benutzeroberfläche SAP-GUI eingibt werden über die Applikationsserver in die Datenbank weitergeführt.
Für die Verteilung der Applikationsebene auf Instanzen gilt also die Regel, dass so viele Instanzen wie nötig, aber so wenige wie möglich installiert werden sollten. Grundsätzlich unterscheiden sich die Ziele der horizontalen Skalierbarkeit der Applikationsebene nicht wesentlich von denen der horizontalen Skalierbarkeit der Datenbankebene. Es gibt allerdings einen entscheidenden Unterschied: Bei der Skalierbarkeit von Anwendungsservern entscheidet das Logon-Balancing darüber, welcher Anwendungsserver die Anfrage eines Benutzers bearbeitet. Dort liegt auch der Speicher des Benutzers (Benutzerkontext). Ein Umziehen von Speicherkontexten findet auf der Applikationsebene nicht statt (außer bei expliziter Parallelisierung, z. B. über RFC-Aufrufe). Bei SAP HANA dagegen wird der Knoten für die Prozessierung der Anfragen durch die Verteilung der Daten festgelegt.
SAP Administration I
Um eine optimale Performance zu erreichen, sollte das Kopieren der Daten beim Kontextwechsel auf ein Minimum beschränkt bleiben, mit anderen Worten, es soll möglichst wenig SAP Roll Memory benutzt werden. Daher wird für alle Betriebssysteme empfohlen, ztta/roll_first = 1 zu setzen. Was passiert nun, wenn der SAP Extended Memory voll belegt ist? In diesem Fall sind zwei Szenarien möglich, die beide nicht performanceoptimal sind: Da der SAP Extended Memory voll belegt ist, werden Benutzerkontexte bis zu einer Größe von ztta/roll_area im lokalen Roll-Bereich abgelegt. Bei jedem Kontextwechsel müssen damit unter Umständen mehrmals Daten in der Größe von mehreren Megabyte kopiert (gerollt) werden; dies führt typischerweise zu Wartesituationen in der Roll-Verwaltung, insbesondere wenn der Roll-Puffer voll ist und Daten in die Roll-Datei geschrieben werden müssen. Erfahrungen zeigen, dass bei großen Applikationsservern mit mehr als 100 Benutzern die Performance in diesen Fällen schlagartig und drastisch einbricht. Um in dieser Situation Abhilfe zu schaffen, kann man den lokalen RollBereich (ztta/roll_area) reduzieren. Wenn der SAP Extended Memory voll belegt ist, wird nur noch wenig Roll Memory verwendet, und die Menge der beim Kontextwechsel zu kopierenden Daten reduziert sich. Stattdessen werden die Kontextdaten im SAP Heap Memory abgelegt – dies hat zur Folge, dass die Workprozesse gar nicht mehr rollen, sondern in den PRIV-Modus gehen, d. h. einem Benutzer zwischen den Transaktionsschritten exklusiv zugeordnet bleiben. Befinden sich zu viele Workprozesse gleichzeitig im PRIV-Modus, stehen dem Dispatcher nicht genügend freie Workprozesse zur Verfügung. Es kann daher zu hohen Dispatcher-Wartezeiten und damit ebenfalls zum Einbruch der Performance kommen.
Dabei ist für Betriebssysteme, die kontinuierlich Speicher auslagern (z. B. Microsoft Windows), die Paged-in-Rate entscheidend, für andere Betriebssysteme hingegen, die erst bei Bedarf auslagern (die meisten UNIX-Derivate), die Paged-out-Rate. Umgekehrt bedeutet das Überschreiten dieser Richtwerte nicht automatisch, dass ein Hardwareengpass vorliegt. Vielmehr sollten Sie in diesem Fall mithilfe des Workload-Monitors prüfen, ob sich die CPU-Auslastung bzw. die Paging-Rate negativ auf die Antwortzeiten auswirkt. Entsprechende Analysen finden Sie in Abschnitt 3.4.1, »Allgemeines Performanceproblem analysieren«.
Mit "Shortcut for SAP Systems" werden Aufgaben im Bereich der SAP Basis vereinfacht und fehlende Funktionen des Standards ergänzt.
Support Packages für eine ausgewählte Komponente werden entsprechend ihrer Reihenfolge in die Queue gestellt.
In diesem Blogbeitrag möchte ich Ihnen die Notwendigkeit von Rezertifizierungen näherbringen und unser eigenes Tool, den EasyReCert, vorstellen.