SAP R/3 Werkzeuge zur Performance-Analyse Ein Vortrag von Sven Groppe Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Gliederung des Vortrages Einleitung Monitore für die technische Analyse vornehmlich auf den Appl.-servern Monitore für die Applikationsanalyse Monitore für den Datenbankserver / die Datenbankzugriffe Die Workload-Analyse Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Grundlage dieses Vortrages „SAP R/3 Performanceoptimierung Analyse und Tuning von R/3 – Systemen“, Thomas Schneider, Addison-Wesley Gefahr: -Richtwerte, Empfehlungen und Faustregeln sind empirisch ermittelt worden Richtwerte und Empfehlungen beziehen sich auf den R/3 – Release 4.0B -Bei neueren Release zeitabhängige Informationen evtl. veraltet, vielleicht sogar kontraproduktiv Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Optimierungszyklus Performanceüberwachung und Identifizierung von Performanceproblemen Detaillierte Problemanalyse und Erstellung eines Maßnahmenkataloges Durchführung der beschlossenen Tuningmaßnahmen Erneute Analyse zur Verifikation der durchgeführten Maßnahmen nicht erfolg- reich erfolgreich Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Integration der Monitore in SAP R/3 Workload-Monitor Benutzer Präsenta- tions- server Applikationsserver Instanzen Dispatcher Warte- schlange Betriebssystem- monitor Benutzerprofil Work- prozeß R/3 Speicher- konfigurations- monitor Betriebs- system Workprozeß- übersicht R/3 – Speicher Work- prozeß ABAP-Trace ABAP-Debugger ABAP-PRG SQL-Trace ... und noch viele andere ... Datenbank- server Datenbanksystem Datenbankmonitor Datenbank Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Strategien der Performance-Analyse Bottom- Up- Analyse Symptome der direkten Ursachen Top- Down- Analyse Analyse „von oben nach unten“, d.h. zielgerichtet an Hand der Symptome zu den direkten Ursachen vorarbeiten, Nur für erfahrene SAP R/3 - Performanceexperten Schlechte Performance des Gesamtsystems Zeitprofil: Temporäres Problem Hintergrundprogramm XY erzeugt hohe Last, Lösung: nachts ablaufen lassen Analyse für jede Einzelkomponente des SAP R/3-Systems (wie Betriebssystem, Datenbank, R/3-Workprozesse etc. für jeden einzelnen Applikationsserver, Instanz ...), Nicht zielgerichtet, aber auch für Anfänger geeignet ! Direkte Ursachen für schlechte Performance Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Gliederung des Vortrages Einleitung Monitore für die technische Analyse vornehmlich auf den Appl.-servern Monitore für die Applikationsanalyse Monitore für den Datenbankserver / die Datenbankzugriffe Die Workload-Analyse Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Betriebssystemmonitor CPU-Auslastung durch Benutzerprozesse CPU-Auslastung durch Betriebssystem Freie CPU-Kapazität (Mind.>20%, opt. >35 %) Anzahl CPUs Anzahl Prozesse, die auf die CPU warten, gemittelt über ... min BS-Paging, unkritisch, wenn < 20% des physikal. Speichers R/3-Auslagerungsspeicher Auffrischung alle 10 sec., CPU-Belastung einzelner Programme in der Übersicht der Betriebssystemprozesse Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Festplattenauslastung Name der HD auf BS-Ebene Mittl.Antwortzeit Auslastung der HD ( >50% => Potentieller I/O-Engpaß ) Anzahl Prozesse, die auf I/O-Operationen warten Wartezeit Servicezeit Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Weitere Analysen auf BS-Ebene Bei Unix-Betriebssystemen Protokollierung aller Änderungen der BS-Parameter Grober Netzwerktest: Wahl eines beliebigen Servers, dann Test der Netzwerkverbindung ( z.B. Antwortzeit und Datenverluste ) Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
R/3 - Speicherkonfigurationsmonitor Trefferrate des Puffers (gut: >98%) Anzahl Verdrängungen (gut: 0) Max. Anzahl Puffereinträge Anzahl DB-Zugriffe zur Füllung des entsprechenden Puffers In memory: R/3-Roll-Puffer, R/3-Paging-Puffer,... On disk: R/3-Rolldatei und R/3-Paging-Datei Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Workprozeß-Übersicht Anzahl Abbrüche des WP Nr. des Work-prozeß, eindeutig pro R/3-Instanz DIA:Dialog, BTC: Hintergrund, UPD: Verbuchung ENQ: Enqueue, SPO:Spool Prozeß-ID des BS Nr. der Semaphore, auf die gewartet oder die gehalten wird (hier Roll-Out) Nach Abbruch vom Dispatcher neu starten ? = beendet, falls Fehler im R/3-Kernel Problem:RFC-Aufruf, aber alle Dialog-WP belegt Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Gliederung des Vortrages Einleitung Monitore für die technische Analyse vornehmlich auf den Appl.-servern Monitore für die Applikationsanalyse Monitore für den Datenbankserver / die Datenbankzugriffe Die Workload-Analyse Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Einzelsatzstat. für 1 Transakt.-schritt Hohe CPU-Zeit => ABAP-Code optimieren oder häufige Zugriffe auf Tabellenpuffer ? Hohe DB-Zeit, kleine oder große transferierte Datenmenge ? Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Einzelsatzstat.,große Datenmenge Hohe DB-Zeit auf Grund hoher trans- ferierter Daten- menge Häufig: Probleme mit Verdrängungen oder Invali-dierungen im Tabellenpuffer Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Einzelsatzstatistik,kleine Datenmenge Indiz für teure SQL- Anweisung Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
ABAP-Trace / ABAP-Debugger Hitliste : Ausführungszeit für jede Anweisung Tabellen : Liste der Datenbanktabellen, auf die zugegriffen wird Hierarchie: chronologischer Ablauf ABAP-Debugger: aktueller Hauptspeicherbedarf Liste interner Tabellen sowie deren Hauptspeicherbedarf Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Gliederung des Vortrages Einleitung Monitore für die technische Analyse vornehmlich auf den Appl.-servern Monitore für die Applikationsanalyse Monitore für den Datenbankserver / die Datenbankzugriffe Die Workload-Analyse Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
SQL-Trace - Identifizierung langlaufender SQL-Anweisungen Messung auf den einzelnen Appl.-servern von der DB-Schnittstelle Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Datenbankmonitor Pufferqualität/ Hitratio: (Log.–Physische Zugriffe) Logische Zugriffe Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Datenbankprozeßmonitor - Anzeige aller derzeit aktiven Datenbankprozesse - Mit Explain kann man sich den Ausführungsplan einer SQL-Anweisung anzeigen lassen Durch Parallelausführung der globalen WP-Übersicht und mehr- maliges Auffrischen Identifikation langlaufender SQL-Anw. möglich Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Shared SQL AREA Statistiken bzgl. der ausgeführten SQL-Anw. wie Anzahl, Zahl der physischen und logischen Zugriffe pro Anweisung, usw. Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Weitere Monitore Monitor zur Identifizierung von I/O-Problemen Datenbanksperren (Exclusive Lockwaits) Datenbank-Fehlerprotokolldatei Protokollierung aller Änderungen der Datenbankparameter - Tabellenstatistiken für den Datenbankoptimierer Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Gliederung des Vortrages Einleitung Monitore für die technische Analyse vornehmlich auf den Appl.-servern Monitore für die Applikationsanalyse Monitore für den Datenbankserver / die Datenbankzugriffe Die Workload-Analyse Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Strategien der Performance-Analyse Bottom- Up- Analyse Top- Down- Analyse Analyse „von oben nach unten“, d.h. zielgerichtet an Hand der Symptome zu den direkten Ursachen vorarbeiten, Nur für erfahrene SAP R/3 - Performanceexperten Schlechte Performance des Gesamtsystems Zeitprofil: Temporäres Problem Hintergrundprogramm XY erzeugt hohe Last, Lösung: nachts ablaufen lassen Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Ablauf eines Transaktionsschrittes Präsentationsserver CPU-Zeit Netzwerk Applikations- server Wartezeit Dispatcher Queue R/3-Extended Memory R/3-WP Benutzer- kontext ... DB-Interface Roll in R/3-Roll Puffer Antwortzeit Ladezeit Programmpuffer Processingzeit Rollwartezeit R/3 Puffer Datenbankserver Netzwerk DB-Prozeß Datenbankzeit DB-Puffer Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Workload-Monitor Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Interpretation der Antwortzeiten Richtwert Problemindikator für Dispatcher-Wartezeit ( Wait time ) < 10% der Antwortzeit Allg. Perf.-problem Ladezeit ( Load + gen time ) < 50ms Progr.-Puffer zu klein oder CPU-Engpaß Roll-in-Zeit, Roll-out-Zeit < 20 ms R/3-Roll-Puffer,R/3-Ext.-Mem. zu klein oder CPU-Engpaß Enqueue-Zeit < 5 ms Enqueue,Netzwerk Processing-, CPU-Zeit Proc-Zeit < 2*CPU-Z. CPU-Engpaß oder Kommunikationsproblem Time per DB request DB-Problem ..................................... ................... ......................................... Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Durchführung der Analyse Allgemeines Performanceproblem (Workload-Monitor) Hardware-Engpaß auf einem Rechner Performanceproblem temporär oder dauerhaft ? Falsche Lastverteilung ? ( Zeitprofil ) Allgemeines DB-Problem ( WM:Rechnerprofil ) ( Workload-Monitor ) Hardware-Kapazität nicht ausreichend R/3-Speicherverwaltung schlecht konfiguriert ? Einzelne Prozesse mit hoher CPU-Belastung ( Workload-Monitor ) Spezielles Performanceproblem ( Übersicht der Betriebssystem- prozesse ) Welche Transaktionen sind betroffen ? ( Transaktionsprofil ) Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Transaktionsprofil Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Zeitprofil Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Anwendungsmonitor Benutzerprofil: -Aktuelle Benutzeranzahl pro R/3-Modul -Per Doppelklick Verfolgung in tiefere Ebenen möglich Drucktaste Antwortzeit: Nach R/3- Modulen differenziertes Lastprofil Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000
Fragen ????? Ende des Vortrages Projektgruppe SAP R/3 auf Linux Cluster 19.01.2000