Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Vorwort
15
Einleitung
17
1 Wo soll ich ansetzen? Performanceanalyse und -optimierung im Überblick
21
1.1 Systemweite Analysen
22
1.2 Einzelprogrammanalyse
24
1.3 Analyse von SAP-Fiori-Anwendungen
26
1.4 Analyse von SAP-BW-Systemen
27
2 Am Anfang war der Statistiksatz
29
2.1 Kurz zu den Basics: SAP-Architektur und Dialogschritte
29
2.1.1 Die SAP-Architektur und ihre Komponenten
30
2.1.2 Laufzeitmessung für die einzelnen Architekturkomponenten
39
2.2 Statistiksatz lesen: Ein Blick in die Vergangenheit
42
2.3 Neue Möglichkeiten mit der Transaktion STATS
51
3 Gewusst wie: So wird der Workload-Monitor ein wertvolles Werkzeug für Sie
57
3.1 Der Teufel steckt im Aggregat – die Fallstricke der Transaktion ST03
58
3.2 Die Statistiken richtig interpretieren
65
3.2.1 Hohe Antwortzeit, hohe Wartezeit
65
3.2.2 Hohe Prozessierungszeit, hohe CPU-Zeit
65
3.2.3 Hohe Prozessierungszeit, niedrige CPU-Zeit
66
3.2.4 Hohe GUI-Zeiten
69
3.2.5 Hohe Datenbankzeiten
71
3.2.6 Hohe Roll-Wartezeiten
72
3.2.7 Antwortzeitverteilung
73
4 Viel hilft viel – viel Hardware nicht immer
75
4.1 Was ist zu tun, wenn Fachabteilungen unzufrieden sind?
76
4.2 Schnelle Prozessoren und Einzelkomponenten
80
4.3 Durchsatz erhöhen – RFC-Parallelisierung
82
5 Transaktion ST12 – das Schweizer Taschenmesser für SAP-Tuning-Experten
89
5.1 Ein Trace für alle Fälle: Wie nutzen Sie Transaktion ST12?
89
5.1.1 Trace konfigurieren
91
5.1.2 Trace aufzeichnen
93
5.1.3 Trace und Zusatzinfos importieren
99
5.2 Was bedeuten all die Pfeile und Rauten? Die Auswertungsmöglichkeiten
100
5.2.1 ABAP-Trace auswerten
101
5.2.2 SQL-Trace auswerten
107
5.2.3 Performance-Trace auswerten
108
5.2.4 Integration der Statistiksätze
112
5.2.5 Traces miteinander vergleichen
113
5.3 Auf den Spuren des kritischen Pfades: Wie Sie der Ursache langer Datenbanksperren auf die Schliche kommen
115
5.4 Die Gegenüberstellung: Das Universalwerkzeug und die Spezialisten im Funktionsvergleich
117
6 Die goldenen Regeln (in neuem Licht)
121
6.1 Die 5 goldenen Regeln, so wie Sie sie kennen
121
6.2 Die goldenen Regeln angewandt auf die Datenbankperformance
124
6.2.1 Regel 1: Treffermenge klein halten
124
6.2.2 Regel 2: Zu übertragende Datenmenge klein halten
129
6.2.3 Regel 3: Anzahl der Zugriffe klein halten
131
6.2.4 Regel 4: Zu durchsuchende Datenmenge klein halten
135
6.2.5 Regel 5: (Zentrale) Ressourcen entlasten
140
6.3 Die goldenen Regeln angewandt auf die ABAP-Performance
144
6.3.1 Regel 1 und 2: Datenmenge klein halten
145
6.3.2 Regel 3: Anzahl der Zugriffe klein halten
154
6.3.3 Regel 4: Zu durchsuchende Datenmenge klein halten
156
6.3.4 Regel 5: (Zentrale) Ressourcen entlasten
161
6.4 Die goldenen Regeln angewandt auf die SAP-Gateway-Kommunikation
163
6.4.1 Regel 1: Treffermenge klein halten
169
6.4.2 Regel 2: Zu übertragende Datenmenge klein halten
175
6.4.3 Regel 3: Anzahl der Zugriffe klein halten
176
6.5 Die goldenen Regeln angewandt auf die SAPUI5-Frontend-Performance
177
6.5.1 Regel 1: Treffermenge klein halten
184
6.5.2 Regel 2: Zu übertragende Datenmenge klein halten
185
6.5.3 Regel 3: Anzahl der Zugriffe klein halten
186
7 Wann Lasttests sinnvoll sind – und wann man lieber die Finger davon lassen sollte
189
7.1 Was Lasttests wirklich leisten können
190
7.2 Die Alternative: Einzeltest
192
8 Was geschah letzte Nacht? Bottlenecks rückblickend analysieren
199
8.1 Dem Problem auf der Spur – Bottleneck-Analyse mit den Basismonitoren
200
8.1.1 Datenbankprobleme erkennen
200
8.1.2 CPU-intensive ABAP-Anwendungen erkennen
201
8.1.3 Hardwareengpass auf dem Applikationsserver erkennen
202
8.1.4 Zu starke Parallelisierung durch asynchrone RFCs erkennen
203
8.2 Aus der Trickkiste des SAP-Supports – der Report /SDF/MON
203
8.2.1 Plug and Play – Datensammlung mit /SDF/MON aktivieren
205
8.2.2 Keine Angst vor dem Doppelklick – Auswertung der gesammelten Daten
212
8.3 Wenn Ihr System zu viel am Hals hat – Vorgehen bei der Bottleneck-Analyse
219
8.3.1 Workprozessengpässe erkennen
219
8.3.2 Speicherengpässe analysieren
220
8.3.3 CPU-Engpässe finden und den Anwendungen zuordnen
221
8.4 Das nächste Level – der Report /SDF/SMON
222
9 The Missing Link – der SQL-Monitor
229
9.1 Aufzeichnung und Auswertung – Datenbankzugriffe systemweit im Blick
230
9.2 SQL-Profile auf Knopfdruck erstellen
236
9.3 Den Übeltäter im Visier – SQL-Tracepoints verwenden
239
9.4 Ein Blick in die Historie: Zeitreihen auswerten
241
9.5 Snapshots in Transaktion SQLM
243
10 Das Ende aller Performanceprobleme? Der Umstieg auf SAP HANA
245
10.1 Die Grundlagen der Hochgeschwindigkeitsdatenbank
245
10.1.1 Spalte oder Zeile – wo liegt der Unterschied?
247
10.1.2 Warum hat SAP HANA überhaupt noch einen Row Store?
250
10.1.3 Was passiert mit den Indizes?
251
10.2 Gelten die goldenen Regeln für SAP HANA?
256
10.3 Das hätte Inspektor Gadget noch gefehlt – der Code Inspector
259
10.3.1 Performancerelevante Prüfungen
259
10.3.2 Objektmenge festlegen
261
10.3.3 Inspektion ausführen
262
10.3.4 Da haben wir den Salat: Tausende von Fehlern!
263
10.4 Das Wichtigste zuerst – Priorisierung mit dem Arbeitsvorrat
264
11 Kehrwoche: Mit diesen Tipps bringen Sie Ihre SAP-Systeme auf Vordermann
271
11.1 FOR-ALL-ENTRIES-Anweisungen mit leerer Treibertabelle finden
271
11.2 Performancerelevante Kurz-Dumps untersuchen
274
11.2.1 Kurz-Dump TSV_TNEW_PAGE_ALLOC_FAILED
276
11.2.2 Kurz-Dump STORAGE_PARAMETERS_WRONG_SET
279
11.2.3 Kurz-Dump EXSORT_NOT_ENOUGH_MEMORY
280
11.2.4 Kurz-Dump MEMORY_NO_MORE_PAGING
280
11.2.5 Kurz-Dump SYSTEM_NO_ROLL
281
11.2.6 Kurz-Dump SYSTEM_NO_SHM_MEMORY
282
11.2.7 Kurz-Dump: EXPORT_NO_SHARED_MEMORY
283
11.3 Hotspots finden
283
11.3.1 Usage Procedure Logging
284
11.3.2 ABAP Call Monitor
286
11.4 Ordnung muss sein – den Tabellenpuffer aufräumen
288
11.4.1 Tabellen im Puffer prüfen
289
11.4.2 Tabellenpuffer optimieren
293
11.5 Wöchentliche Post vom SAP Solution Manager – SAP EarlyWatch Alert
295
12 Push the Code – neue Open-SQL-Funktionen und ABAP Core Data Services
303
12.1 Runter geht’s – Code Pushdown mit Open SQL
305
12.1.1 Schnelles Kopieren von Daten mit INSERT … FROM (SELECT…)
305
12.1.2 Zwischenergebnisse in globalen temporären Tabellen speichern
306
12.1.3 SQL-Ausdrücke verwenden
308
12.1.4 Open-SQL-Anweisungen kombiniert einsetzen
310
12.2 Tiefe Einsichten – ABAP Core Data Services
316
12.2.1 CDS-View anlegen
317
12.2.2 Beispiel: Umsatzstärkste Frühbucher analysieren
319
12.3 Ausblick
325
13 Reaktionszeit als Teil der User Experience – Performance-Tuning für SAPUI5 und SAP Fiori
327
13.1 Performanceschwachstellen in der SAP-Fiori-Architektur kennen
328
13.1.1 JavaScript-Funktionen und Ihre Auswirkungen
328
13.1.2 Gültigkeitsbereiche von Variablen und Funktionen
330
13.1.3 Speichermodell und Ereignissteuerung in JavaScript
333
13.2 Der Lagecheck: Werkzeuge und Methoden zur Performanceanalyse
335
13.2.1 Das Maß aller Dinge – RAIL-Performance-Modell
335
13.2.2 Performance messen
338
13.2.3 Speicherverbrauch messen
344
13.3 Besser machen – Methoden zur Performanceoptimierung
351
13.3.1 Der Preload-Mechanismus – asynchrones SAPUI5
352
13.3.2 Über den Umgang mit Variablen und Funktionen
354
13.3.3 Alles zu seiner Zeit – der Umgang mit Ereignissen
365
13.3.4 Komprimierung: minify JavaScript
372
14 Schnell, schneller, am schnellsten: Performance von SAP HANA überwachen
377
14.1 Wie schwer muss die Datenbank tragen? Lastanalyse mit dem SAP HANA Cockpit
378
14.1.1 Was sollten Sie bei der Lastanalyse untersuchen?
383
14.1.2 Threads analysieren und sichern
386
14.1.3 Blockierte Transaktionen analysieren
390
14.1.4 Speicheranalyse
392
14.2 Und wie viel Zeit geht dabei drauf?
397
14.2.1 SQL Plan Cache analysieren
397
14.2.2 Expensive Statements Trace
400
14.2.3 Plan Visualizer
401
15 Die Grundlage für zeitnahe Datenauswertungen: BW-Performance im Griff
407
15.1 Voraussetzungen für eine saubere Analyse
408
15.2 Alles eine Frage der Zeit: Performance von BW Queries
409
15.2.1 Laufzeitanalyse mit den BW-Statistiken
410
15.2.2 Die beste Wahl – die BIIPTOOLS
422
15.2.3 Los geht’s: Ein Fallbeispiel mit SAP BusinessObjects Analysis for Microsoft Office
430
15.2.4 Welches Tool für welche Analyse?
439
15.2.5 Die optimale OLAP-Cache-Konfiguration
440
15.2.6 Und die Query-Einstellungen?
443
15.3 Ihre neuen Lieblingstools zur Analyse von Ladeprozessen
445
15.3.1 Die Standardtools – Transaktionen RSPC und RSPCM
447
15.3.2 Der Werkzeugkasten für Experten – BW-TOOLS
449
Die Autoren
461
Index
465