Wozu eine SAP-BASIS-Abteilung in den Firmen? Unsere Geschichte
Datenbank-Management, Datenbank-Export und Datenbank-Import
Beim Design einer Softwarelösung und bei der Bewertung von Optimierungsmaßnahmen sollten Sie sich vor Augen halten, dass unterschiedliche Kommunikationen oder Prozesse auf unterschiedlichen Zeitskalen ablaufen. Abbildung 1.6 stellt dies schematisch dar. Auf der schnellsten Zeitskala laufen Anfragen im lokalen Hauptspeicher innerhalb des Datenbank- oder Applikationsserver-Kernels – z. B. bei Suchvorgängen in Tabellen oder Sortierungen. Als Dauer für einen Zugriff ist mit einer Zeit von 0,1 Mikrosekunden (μs) zu rechnen, Zugriffe auf die Prozessor-Caches sind sogar noch schneller. Um etwa zwei Zehnerpotenzen langsamer (10 μs) sind Zugriffe von einem ABAP- oder Java-Programm auf ein Objekt, das sich im Hauptspeicher des Applikationsservers befindet. Wiederum auf einer anderen Zeitskala spielen sich SQL-Anfragen von Anwendungsprogrammen auf die Datenbank ab. Wenn sich das Ergebnis der Anfrage bereits im Hauptspeicher befindet, ist hier mit Zeiten im Bereich von 1 Millisekunde (ms) zu rechnen. Muss von der Festplatte gelesen werden, liegen die Zeiten bei bis zu 10 ms. Auf der langsamsten Zeitskala laufen Anfragen zwischen dem Server und dem Rechner eines Endbenutzers ab. Hier müssen Sie in einem WAN oder Mobilfunknetz mit einer Dauer in der Größenordnung von 100ms rechnen.
Im Quick Sizer werden das benutzerbasierte und das durchsatzbasierte Sizing getrennt berechnet. Sie können also das benutzerbasierte und das durchsatzbasierte Sizing parallel im Quick Sizer durchführen. Dabei müssen Sie allerdings berücksichtigen, dass nicht für alle Prozesse beide Sizing- Formen angeboten werden. Wenn ein paralleles Sizing möglich ist, können Sie die beiden Ergebnisse miteinander zur Konsistenzprüfung vergleichen, die Ergebnisse aber in diesem Fall nicht addieren. Die Alternative wäre, einige Prozesse benutzerbasiert, andere durchsatzbasiert berechnen zu lassen und das Ergebnis dann zu addieren. Wegen der Konsistenzprüfung empfehlen wir Ihnen die erste Variante.
SPAM aufrufen
An einem Beispiel stellen wir dar, wie Sie dabei mit dem SAP Solution Manager arbeiten. Nehmen wir dazu an, dass Ihre Überwachung feststellt, dass zahlreiche teure SQL-Anweisungen Ihre Datenbank belasten und regelmäßig zu Engpässen führen. Der SAP EarlyWatch Alert identifiziert die betreffenden Anweisungen und empfiehlt gleichzeitig, einen Service zur SQL-Anweisungsoptimierung durchzuführen. Dieser Service kann ebenso vom SAP Support Portal auf den SAP Solution Manager heruntergeladen und im SAP Solution Manager durchgeführt werden. Der SAP Solution Manager interagiert dabei zum einen mit Ihrer Systemlandschaft, um die benötigten Statistiken und sonstige Daten zu laden, und zum anderen mit dem Bearbeiter, der den Service durchführt, um so in einem iterativen Verfahren zu einer Lösung und somit zu einer Performanceverbesserung zu kommen. Es ist sofort klar, dass ein derartiges Serviceprogramm viel detaillierter sein kann als z. B. dieses Buch oder ein Training. Der hier beispielhaft genannte Service zur SQL-Anweisungsoptimierung umfasst über 500 einzelne Optimierungsmöglichkeiten – angefangen bei bekannten Fehlern oder »Features« in der Datenbanksoftware über Empfehlungen zur Optimierung von Indizes bis hin zu Empfehlungen zur Neuformulierung von SQL-Anweisungen (von diesen 500 Schritten bekommt der Bearbeiter natürlich nur die Schritte zu sehen, die auf sein Problem zutreffen).
Zur Analyse der Antwortzeit können Sie für die Dialogverarbeitung die Richtwerte in Tabelle 3.1 zugrunde legen. Im Task-Typ Verbuchung können die Werte etwa um 50 % höher liegen, als in der Tabelle angegeben. Die Spalte Problemindikator für gibt an, welches Problem besteht, wenn die angegebenen Richtwerte signifikant überschritten werden.
Etliche Aufgaben der SAP Basis können mit "Shortcut for SAP Systems" einfacher und schneller erledigt werden.
Alternativ können Sie über den Schalter Im parallelen Modus in eine Prozessliste verzweigen, in der Sie den ABAP-Trace für einen gerade aktiven Workprozess aktivieren können.
Hinzu kommt, dass in dieser Phase häufig noch Fehler auftreten, die die Performancekennzahlen verfälschen.