Beratung bezüglich dem Einsatz der Hardware, der Datenbank sowie der Betriebssysteme und deren Installationsart (physikalisch oder virtuell)
Erfahrungen in der Administration von Windows- oder Linux-Serversystemen, Datenbanken oder Webanwendungen
Neben der Überwachung des Datenbankpuffers, der Analyse teurer SQLAnweisungen und der Identifizierung von I/O-Problemen gibt es eine Reihe weiterer Analysen, anhand derer Sie Performanceprobleme auf der Datenbank genauer einkreisen können. Diese Analysen stellen wir Ihnen in diesem Abschnitt vor.
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.
I/O-Engpass
Standardmäßig finden Sie alle Rechner, auf denen SAP-ABAP-Instanzen installiert wurden, in der Auswahlliste. Grundsätzlich lässt sich aber jeder Rechner in den Remote-Betriebssystemmonitor einbinden, sofern dort ein Monitoring-Agent installiert ist. Dringend empfohlen wird dies für Rechner, auf denen eine Standalone-Datenbank, eine SAP-Java-Instanz oder ein TREX läuft.
Durch EDI wird es Unternehmen ermöglicht, Geschäftsdaten wie Bestellungen oder Rechnungen elektronisch miteinander auszutauschen. Dieser Datenaustausch wird als Electronic Data Interchange (EDI) bezeichnet. Welche Schritte sind nötig, um Daten zwischen zwei Systemen auszutauschen? In diesem Beitrag möchte ich Ihnen zeigen, wie Sie Ihr SAP System konfigurieren, so dass eine Bestellung, nachdem diese freigegeben wurde, elektronisch an Ihren Lieferanten übermittelt wird. Voraussetzung für den Datenaustausch zwischen zwei Systemen ist eine gültige RFC-Verbindung zum Empfängersystem sowie ein IDoc-Port vom Typ Transaktionaler RFC.
Etliche Aufgaben der SAP Basis können mit "Shortcut for SAP Systems" einfacher und schneller erledigt werden.
Fragen Sie auch nach den Benchmark-Zertifikaten der angebotenen Hardware (diese können auch im Internet abgerufen werden).
Im ersten Abschnitt gehen wir auf die Architektur ein, mit der SAP-Lösungen realisiert werden, und umreißen das systemseitige Optimierungspotenzial.