Richtwert für Array-Fetch
SPAM: Modifikationsabgleich durchführen
Wie können die SAP-Services auf eine Hardwarelandschaft abgebildet werden? Bei einer zentralen Installation werden die Datenbankinstanz und alle SAP-Services (insbesondere Message-, Enqueue-, Dialog-, Verbuchungs-, Hintergrund- und Spool-Service) auf einem Rechner konfiguriert. Diese Installationsart findet man typischerweise bei Entwicklungs-, Test- und kleinen Produktivsystemen (bis ca. 100 aktive Benutzer).
Im Hauptspeicherkonfigurationsmonitor (Transaktionscode ST02) finden Sie eine Auflistung aller Speicherbereiche, die vom ABAP-Server allokiert werden – inklusive der Nutzungshistorien. Als Faustregel können Sie ein Drittel abziehen, da eine mäßige Überallokation durch den ABAP-Server in der Regel unkritisch ist. Diese Analyse ist zum einen nützlich als Konsistenzcheck zu den Daten, die der Betriebssystemmonitor liefert. Dazu addieren Sie die Hauptspeicherbedarfe und vergleichen das Ergebnis mit den Werten, die Sie auf dem Betriebssystem ermitteln. Weichen die Werte stark voneinander ab, müssen Sie analysieren, ob es Prozesse gibt, die nicht direkt zum SAP-System gehören. Zum anderen können Sie z. B. auf einem Datenbankserver ermitteln, wie viel Hauptspeicher die Datenbankinstanz und wie viel die SAPInstanz benötigt.
Manuelle Kopien
In der SAP-Onlinehilfe zur ABAP-Programmierumgebung und in der ABAP-Laufzeitumgebung (Transaktionscode SAT) finden Sie unter Tipps und Tricks ausführliche Informationen zur performanten ABAP-Programmierung, anhand der Sie sich mit den dort vorgestellten Codebeispielen vertraut machen sollten. In der Praxis gibt es immer wieder drei Programmierfehler, die zu einem hohen Hauptspeicher- bzw. CPU-Bedarf von Programmen führen: Fehlende REFRESH- bzw. FREE-Anweisungen - Mit den ABAP-Anweisungen REFRESH und FREE werden interne Tabellen gelöscht, und der allokierte Hauptspeicher wird freigegeben. Fehlen diese Anweisungen, werden unnötig Ressourcen blockiert, und die ausgeführten Operationen (READ oder LOOP) benötigen unnötig viel Zeit. Ineffizientes Lesen in großen internen Tabellen - Die ABAP-Anweisung READ TABLE ... WITH KEY ... erlaubt, in internen Tabellen zu suchen. Verwenden Sie diese Anweisung bei einer Standardtabelle ohne weiteren Zusatz, erfolgt die Suche sequenziell. Dies ist bei großen Tabellen ein aufwendiger Vorgang. Die Performance von Suchzugriffen wird wesentlich verbessert, wenn mit dem Zusatz ... BINARY SEARCH mittels binärer Suche gelesen wird. Dazu muss die Tabelle allerdings sortiert sein (siehe ABAP-Hilfe zur Anweisung READ TABLE). Die Performance von Operationen auf großen Tabellen optimieren Sie z. B. durch sortierte Tabellen (SORTED TABLE) bzw. Hash-Tabellen (HASHED TABLE). Wird ein READ-Befehl auf einer sortierten Tabelle ausgeführt, verwendet der ABAP-Prozessor automatisch eine binäre Suche. Wichtig ist, dass die Schlüsselfelder, die zur Suche verwendet werden, den Sortierkriterien der Tabelle entsprechen. Der Suchaufwand steigt bei einer sortierten Tabelle nur logarithmisch mit der Größe der Tabelle an. Konstante Zugriffskosten liegen bei Hash-Tabellen vor, falls die ABAP-Anweisung READ TABLE ... WITH TABLE KEY verwendet wird. Ein effizienter Zugriff auf Hash-Tabellen ist aber nur mit Angabe des vollständigen Schlüssels möglich! Geschachtelter Loop - Geschachtelte Loops werden häufig bei der Verarbeitung von abhängigen Tabellen verwendet (z. B. Kopf- und Positionsdaten). Handelt es sich bei HEADER und POSITION um Standardtabellen, loopt der ABAP-Prozessor für jeden Eintrag in der Tabelle HEADER über alle Einträge in der Tabelle POSITION und prüft für alle Einträge, ob die WHERE-Bedingung erfüllt ist. Dies ist insbesondere dann sehr zeitaufwendig, wenn die Tabellen HEADER und POSITION sehr viele Einträge enthalten. Verwendet man hingegen Tabellen vom Typ SORTED, ermittelt der ABAP-Prozessor die zu bearbeitenden Daten mit binärer Suche und iteriert nur über die Bereiche, die der WHERE-Bedingung genügen. Die Sortierung bringt allerdings nur Vorteile, wenn die WHERE-Bedingung die ersten Felder des Sortierschlüssels enthält.
Wenn Sie mehr zum Thema SAP Basis wissen möchten, besuchen Sie die Webseite www.sap-corner.de.
Je kleiner die Anzahl der physischen Zugriffe im Verhältnis zur Anzahl der logischen Zugriffe ist, desto höher ist die Pufferqualität. 100 % wäre eine ideale Pufferqualität, d. h., es muss überhaupt nicht mehr von der Platte gelesen werden: Alle erforderlichen Objekte befinden sich im Hauptspeicher der Datenbankinstanz.
Mit "Shortcut for SAP Systems" steht ein Tool zur Verfügung, das einige Aufgaben im Bereich der SAP Basis erheblich erleichtert.
Eine negative Konsequenz während des operativen Betriebs kann weitestgehend ausgeschlossen werden.
Suchen Sie im SAP Support Portal nach Hinweisen zu diesem Problem, oder schalten Sie SAP bei der Fehlersuche ein.
Schluss mit der unübersichtlichen Zettelwirtschaft macht die Freeware Scribble Papers. Allerdings eignet sich das Tool auch dazu, neben Notizen Textdokumente und Textschnipseln aller Art abzulegen, zu strukturieren und schnell aufzufinden.