Automatisierte Bereitstellung
Verwaltungsinformationen
Auf der Registerkarte Programmteile legen Sie fest, welche Teile des Programms Sie analysieren wollen. Wenn Sie die Option Einschränkung auf Programmteile wählen, können Sie den Trace auf ausgewählte Klassen, Funktionsgruppen und Programme sowie deren Unterbestandteile Methoden, Funktionsbausteine und Formroutinen beschränken.
Als Skalierbarkeit eines Programms bezeichnet man die Abhängigkeit der Laufzeit eines Programms von der Datenmenge. Viele Operationen sind linear von der Datenmenge abhängig (t = O(n)), d. h., die Laufzeit steigt linear mit der Datenmenge an. Beispiele dafür sind Datenbankselektionen in großen Tabellen ohne oder mit ungeeigneter Indexunterstützung und Schleifen über interne Tabellen im Programm. Lineare Skalierbarkeit ist für die Bearbeitung mittlerer Datenmengen akzeptabel. Wenn sie bei Programmen, die große Datenmengen bearbeiten sollen, nicht vermieden werden kann, muss über Parallelisierung nachgedacht werden. Besser als eine lineare Skalierbarkeit sind für die Performance natürlich konstante Laufzeiten (t = O(1)) oder eine logarithmische Abhängigkeit (t = O(log n)). Logarithmische Abhängigkeiten treten z. B. bei Datenbankselektionen in großen Tabellen mit optimaler Indexunterstützung oder bei Leseoperationen in internen Tabellen mit binärer Suche auf. Da die Logarithmusfunktion nur sehr langsam ansteigt, ist in der Praxis zwischen konstanten und logarithmisch ansteigenden Laufzeiten nicht zu unterscheiden. Inakzeptabel für die Bearbeitung mittlerer und großer Datenmengen sind quadratische Abhängigkeiten (t = O(n × n)) und alles, was darüber hinausgeht. Allerdings können Probleme mit quadratischer Abhängigkeit durch intelligente Programmierung in der Regel auf Abhängigkeiten der Art t = O(n × log n) zurückgeführt werden. Ein Beispiel ist das Vergleichen zweier Tabellen, die beide mit der Ordnung n wachsen. Ein Vergleich der unsortierten Tabellen würde zu einer quadratischen Abhängigkeit führen, ein Vergleich mit sortierten Tabellen zur Abhängigkeit t = O(n × log n). Da die Logarithmusfunktion nur sehr langsam ansteigt, ist in der Praxis zwischen einem Ansteigen t = O(n × log n) und einem linearen Ansteigen nicht zu unterscheiden.
SM04 Benutzersitzungen auswerten
Kann der SAP Extended Memory aufgrund der zuvor aufgeführten Beschränkungen nicht vergrößert werden und stellen Sie anhand der Modusliste fest, dass wenige Benutzer einen großen Teil des SAP Extended Memorys belegen, können Sie die Benutzerquote (ztta/roll_extension bzw. mit Basisversion 7.40 auch ztta/roll_extension_dia und ztta/roll_extension_nondia) reduzieren. Dies führt dazu, dass der einzelne Benutzermodus im SAP Extended Memory weniger Speicher belegt und stattdessen eher SAP Heap Memory verwendet. Dieses Vorgehen hat jedoch zwei Nachteile: Workprozesse gehen mit einer höheren Wahrscheinlichkeit in den PRIV-Modus. Daher muss eventuell die Anzahl der Dialog-Workprozesse erhöht werden. Dem einzelnen Benutzer steht insgesamt weniger Speicher zur Verfügung; dies kann im schlimmsten Fall zur Folge haben, dass Programme mit einem sehr hohen Speicherbedarf abbrechen.
Eine SAP-Transaktion erstreckt sich in der Regel über mehrere Transaktionsschritte, d. h. Bildwechsel. Während dieser Schritte werden Daten wie Variablen, interne Tabellen und Bildschirmlisten aufgebaut und im Speicher des Applikationsservers gehalten. Diese Daten bezeichnet man als Benutzerkontext.
Basisadministratoren steht mit "Shortcut for SAP Systems" eine PC-Anwendung zur Verfügung, die etliche Tätigkeiten in der SAP Basis vereinfacht bzw. ermöglicht.
Auf www.sap-corner.de finden Sie ebenfalls viele nützliche Informationen zum Thema SAP Basis.
Sie können die Funktionalität ohne weitere Lizenzkosten und mit moderatem Aufwand in Ihre bestehende SAP-Landschaft implementieren.
Als Richtwert für die Praxis sollte die Differenz aus Processing- Zeit und CPU-Zeit nicht größer als 10 % sein.