Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Vorwort und Danksagung
17
Einleitung
19
1 Performancemanagement einer SAP-Lösung
33
1.1 Die Architektur von SAP-Lösungen
34
1.1.1 SAP-Lösungen und -Komponenten
34
1.1.2 Client-Server-Architektur
38
1.2 Das Überwachungs- und Optimierungskonzept für eine SAP-Lösung
47
1.2.1 Anforderungen an ein Überwachungs- und Optimierungskonzept
47
1.2.2 Service Level Management
51
1.2.3 Das Konzept für eine kontinuierliche Performanceoptimierung
58
1.2.4 Werkzeuge und Methoden für das Überwachungs- und Optimierungskonzept
65
1.2.5 SAP Solution Manager
67
1.3 Zusammenfassung
72
2 Analyse von Hardware, Datenbank und ABAP-Applikationsserver
75
2.1 Begriffsklärungen
76
2.2 Hardwareanalyse
77
2.2.1 Analyse eines Hardwareengpasses (CPU und Hauptspeicher)
79
2.2.2 Identifizierung von Schreib-/Lese-(I/O-)Problemen
86
2.2.3 Weitere Analysen auf Betriebssystemebene
87
2.3 Datenbankanalyse
89
2.3.1 Der Performancemonitor im DBA-Cockpit
90
2.3.2 Analyse der Datenbankpuffer
92
2.3.3 Identifizierung teurer SQL-Anweisungen
96
2.3.4 Identifizierung von Schreib-/Lese-(I/O-)Problemen
103
2.3.5 Weitere Analysen auf Datenbankebene
105
2.4 Analyse der SAP-Speicherkonfiguration
114
2.4.1 Analyse der SAP-Puffer
115
2.4.2 Analyse des SAP Extended Memorys, des SAP Heap Memorys und des SAP Roll Memorys
117
2.4.3 Anzeige des allokierten Speichers
119
2.4.4 Weitere Monitore zur detaillierten Analyse
121
2.5 Analyse der SAP-Workprozesse
123
2.5.1 Felder der Workprozess-Übersicht
124
2.5.2 Analyse der Workprozesse
127
2.5.3 Globale Workprozess-Übersicht
130
2.5.4 Überwachung der Dispatcher-Queue
132
2.6 Analyse des Internet Communication Managers (ICM)
134
2.7 Kontinuierliche Überwachung mit dem CCMS
135
2.7.1 Mit dem Überwachungsmonitor arbeiten
137
2.7.2 Monitoring-Baum einrichten
141
2.7.3 Automatische Alert-Benachrichtigung einrichten
144
2.7.4 Grafische Benutzeroberfläche im SAP Solution Manager
145
2.8 Zusammenfassung
146
3 Workload-Analyse
149
3.1 Grundlagen der Workload-Analyse und der Laufzeitanalyse
150
3.2 Der Workload-Monitor
153
3.2.1 Mit dem Workload-Monitor arbeiten
153
3.2.2 Technische Einstellungen zum Workload-Monitor
156
3.3 Workload-Analyse
157
3.3.1 Ablauf eines Transaktionsschrittes
157
3.3.2 Weitere Zeitkomponenten
160
3.3.3 Interpretation der Antwortzeiten
161
3.3.4 Aktivität, Durchsatz und Last
163
3.4 Workload-Analyse durchführen
165
3.4.1 Allgemeines Performanceproblem analysieren
165
3.4.2 Spezielles Performanceproblem analysieren
173
3.5 End-to-End-Workload-Analyse
176
3.5.1 Grundlagen der End-to-End-Workload-Analyse
177
3.5.2 Der zentrale Workload-Monitor
178
3.5.3 Mit dem zentralen Workload-Monitor arbeiten
179
3.5.4 Der End-to-End-Workload-Monitor im SAP Solution Manager
183
3.6 Zusammenfassung
184
4 Identifizierung von Performanceproblemen in ABAP-Programmen
189
4.1 Einzelsatzstatistik
189
4.2 Performance-Trace
194
4.2.1 Performance-Trace erstellen
195
4.2.2 SQL-Trace auswerten
196
4.2.3 Weitere Funktionen im SQL-Trace
202
4.2.4 Puffer-Trace auswerten
204
4.2.5 RFC-Trace auswerten
205
4.2.6 HTTP-Trace auswerten
206
4.2.7 Enqueue-Trace auswerten
207
4.3 Performanceanalyse mit dem ABAP-Trace (Laufzeitanalyse)
208
4.3.1 ABAP-Trace erstellen
209
4.3.2 ABAP-Trace auswerten
211
4.3.3 Varianten verwenden
213
4.3.4 Ausblick: Einzeltransaktionsanalyse
215
4.3.5 Mit der Einzeltransaktionsanalyse arbeiten
217
4.4 Analyse des Speicherverbrauchs mit dem ABAP Debugger und im Memory Inspector
218
4.5 Code Inspector
225
4.6 Zentrale Einzelsatzstatistik
226
4.7 End-to-End-Laufzeitanalyse im SAP Solution Manager
229
4.7.1 Laufzeitanalyse einschalten
229
4.7.2 End-to-End-Laufzeitanalyse im SAP Solution Manager anzeigen
232
4.8 Zusammenfassung
234
5 Hardware-Sizing, System- und Lastverteilung
239
5.1 Initiales Hardware-Sizing
241
5.1.1 Übersicht über das Projekt zum initialen Sizing
242
5.1.2 Sizing-Projekt im Detail durchführen
249
5.1.3 SAP Standard Application Benchmarks
253
5.2 Sizing bei Laststeigerung, Versionswechsel oder Migration
258
5.2.1 Übersicht über ein Sizing-Projekt im Umfeld einer bereits produktiven Installation
258
5.2.2 Sizing im Umfeld produktiver Installationen im Detail durchführen
259
5.3 Systemlandschaft planen
267
5.3.1 Verteilung von SAP-Applikationsinstanzen
268
5.3.2 Hardwarekonsolidierung
269
5.3.3 System- und Datenbankkonsolidierung
271
5.4 Services des SAP NetWeaver Application Servers
273
5.5 Zusammenfassung
278
6 Speicherkonfiguration
281
6.1 Grundlagen der Speicherkonfiguration
282
6.1.1 Begriffsklärungen
282
6.1.2 SAP Role Memory, SAP Extended Memory, SAP Heap Memory
284
6.1.3 SAP Extended Global Memory und SAP Paging Memory
291
6.2 Besonderheiten der Betriebssysteme
293
6.2.1 Zero Administration Memory Management für Microsoft Windows
293
6.2.2 Memory Management für Linux
295
6.2.3 Memory Management für IBM i
295
6.3 Speicherbereiche konfigurieren und überwachen
296
6.3.1 Auslagerungsspeicher überwachen
299
6.3.2 SAP-Speicherbereiche konfigurieren und überwachen
301
6.3.3 Hilfe zur Fehlerbehebung
305
6.4 Zusammenfassung
312
7 Lastverteilung und Remote Function Calls
317
7.1 Lastverteilung innerhalb der ABAP-Instanzen
318
7.1.1 Message-, Enqueue- und ATP-Service verteilen
320
7.1.2 Dialog-, Hintergrund- und Spool-Workprozesse verteilen
320
7.1.3 Benutzer und Workprozesse auf CPURessourcen verteilen
321
7.1.4 Dynamische Benutzerverteilung: Anmeldegruppen konfigurieren
324
7.1.5 Ressourcen pro Benutzer beschränken
328
7.1.6 Betriebsarten
329
7.1.7 Dynamische Workprozesse konfigurieren
329
7.1.8 Verbuchung
330
7.2 Remote Function Calls (RFC)
338
7.2.1 Grundlagen und Begriffe
338
7.2.2 Ablauf eines RFCs
341
7.2.3 RFC-Verbindungen konfigurieren und testen
344
7.2.4 Eingehende und ausgehende Last überwachen
348
7.2.5 Parallelisierung von Prozessen mit asynchronen RFCs konfigurieren
354
7.2.6 Datenübertragung mit transaktionalen RFCs überwachen
355
7.2.7 Hintergrund-RFCs
357
7.3 Neues Lastverteilungskonzept
357
7.4 SAP Virtual Machine Container
360
7.5 Zusammenfassung
362
8 SAP GUI und Internetanbindung
367
8.1 SAP GUI
368
8.1.1 Interaktionsmodell und Performancemessung
368
8.1.2 Performance der GUI-Kommunikation analysieren und optimieren
371
8.2 SAP-Webanwendungen
377
8.2.1 Einsatz von Web UI und SAP GUI planen
378
8.2.2 HTTP-Trace im Internet Communication Manager
380
8.3 Analysen auf dem Präsentationsserver
381
8.3.1 Präsentationsserver-Trace für Webanwendung
383
8.3.2 Performancewerkzeuge des Betriebssystems
386
8.3.3 Webanwendungen kontinuierlich überwachen
387
8.4 Business Server Pages (BSP), Web Dynpro ABAP und integrierter ITS
388
8.4.1 Grundlagen von Business Server Pages und Web Dynpro ABAP
388
8.4.2 Grundlagen des integrierten ITS
392
8.4.3 Grundlagen von ABAP-Webservices
394
8.4.4 Performanceanalyse von ABAP-Webservices, BSPs, Web-Dynpro-ABAP- und ITS-Anwendungen durchführen
394
8.4.5 Aufrufe von Webservices überwachen
397
8.5 Zusammenfassung
398
9 Sperren
403
9.1 Sperrkonzepte von Datenbanksystem und SAP-System
404
9.1.1 Datenbanksperren
404
9.1.2 SAP-Enqueues
405
9.2 Überwachung von Sperren
407
9.2.1 Datenbanksperren
408
9.2.2 SAP-Enqueues
412
9.3 Nummernkreispufferung
414
9.3.1 Grundlagen
414
9.3.2 Nummernkreispufferung einschalten
419
9.3.3 Nummernkreispufferung überwachen
420
9.4 Sperren mit Menge und ATP-Server
421
9.4.1 Grundlagen
422
9.4.2 ATP-Server konfigurieren
424
9.4.3 ATP-Server überwachen
426
9.5 Zusammenfassung
427
10 Optimierung der Java Virtual Machine und von Java-Programmen
431
10.1 Garbage Collection
433
10.1.1 Aufbau des Java Heaps
433
10.1.2 Garbage-Collection-Algorithmen
435
10.1.3 Auswahl des Kollektors
436
10.1.4 Parametrisierung des Java Heaps und der Garbage Collection
438
10.1.5 Protokollierung von Garbage Collections
439
10.2 Just-in-Time-Compiler
440
10.3 SAP Management Console
441
10.4 SAP Java Virtual Machine Profiler
444
10.4.1 Architektur
444
10.4.2 Verbindungsaufbau
445
10.4.3 Allocation Analysis
448
10.4.4 Performance Hotspot Analysis
455
10.4.5 Method Parameter Analysis
459
10.4.6 Synchronization Analysis
461
10.4.7 File- und Network-I/O-Analysis
464
10.4.8 Garbage Collection Analysis
466
10.4.9 Klassenstatistik und Heap Dump
469
10.5 Memory Analyzer
471
10.5.1 HPROF-Dateien erstellen
472
10.5.2 Analyse des Java Heaps mit dem Memory Analyzer
472
10.6 Lokale Datenbankmonitore und SQL-Trace im SAP NetWeaver AS Java
475
10.7 Java-Workload- und Laufzeitanalyse mit CA Wily Introscope
478
10.7.1 Funktionsweise von Introscope
478
10.7.2 Mit dem WebView und der Workstation von Introscope arbeiten
479
10.7.3 Introscope Trace
481
10.8 Zusammenfassung
482
11 Optimierung von SQLAnweisungen
485
11.1 Teure SQL-Anweisungen identifizieren und analysieren
487
11.1.1 Identifizierung und Voranalyse
487
11.1.2 Detaillierte Analyse
490
11.2 SQL-Anweisungen durch Sekundärindizes optimieren
494
11.2.1 Ein wenig Theorie
494
11.2.2 Indizes und Tabellenstatistiken administrieren
504
11.2.3 Regeln zum Anlegen oder Ändern von Sekundärindizes
511
11.3 SQL-Anweisungen im ABAP-Programm optimieren
521
11.3.1 Regeln für die performante SQL-Programmierung
521
11.3.2 Beispiel für die Optimierung eines ABAP-Programms
527
11.3.3 Vorbelegung von Feldern in Reporttransaktionen
537
11.4 Teure SQL-Anweisungen durch falsche Puffereinstellungen und Administrationswerkzeuge
542
11.5 Zusammenfassung
544
12 SAP-Pufferung
549
12.1 Grundlagen der Tabellenpufferung
551
12.1.1 Pufferungsarten
551
12.1.2 Pufferzugriffe
554
12.1.3 Puffersynchronisation
556
12.1.4 Pufferung einschalten
559
12.1.5 Welche Tabellen sollen gepuffert werden?
561
12.2 Tabellenpufferung auf dem ABAP-Server überwachen
564
12.2.1 Tabellenzugriffsstatistik
565
12.2.2 Analyse der gepufferten Tabellen
568
12.2.3 Analyse der bisher nicht gepufferten Tabellen
574
12.2.4 Detaillierte Tabellenanalyse
576
12.2.5 Monitor zur Puffersynchronisation (DDLOG-Einträge)
579
12.2.6 SQL-Statistik und SQL-Trace
579
12.3 Objektorientierte Anwendungspuffer überwachen
580
12.4 Tabellenpufferung auf dem SAP NetWeaver AS Java überwachen
586
12.5 Zusammenfassung
589
13 Optimierung von Anfragen an SAP NetWeaver Business Warehouse
593
13.1 Grundlagen des SAP NetWeaver Business Warehouse
594
13.1.1 Übersicht über die wichtigsten Begriffe in SAP NetWeaver BW
595
13.1.2 InfoCube und erweitertes Star-Schema
599
13.1.3 Möglichkeiten der Performanceoptimierung im Überblick
608
13.1.4 BW-Administrationswerkzeuge im Überblick
611
13.2 Analyse teurer BW-Anfragen
613
13.3 Technische Optimierungsoptionen im Detail
619
13.3.1 Indizierung administrieren
621
13.3.2 Einstellungen zur Datenselektion
628
13.3.3 Komprimieren der Faktentabelle
629
13.3.4 OLAP-Cache überwachen
630
13.3.5 Vorberechnung von Reports
635
13.3.6 Aggregate
637
13.4 Zusammenfassung
647
14 Optimierung von Suchanfragen mit TREX
651
14.1 Grundlagen und Architektur des TREX unter Performancegesichtspunkten
652
14.1.1 TREX-Einsatzszenarien und Suchfunktionen
653
14.1.2 Architektur des TREX
657
14.1.3 Besonderheiten des SAP NetWeaver BW Accelerators
661
14.1.4 TREX-Administrationswerkzeuge im Überblick
663
14.2 Performanceanalyse auf dem TREX durchführen
665
14.2.1 Auslastung der TREX-Server überwachen
665
14.2.2 Python-Trace erstellen und auswerten
671
14.2.3 Performance-Trace erstellen und auswerten
672
14.3 Technische Optimierungsoptionen im Detail
673
14.3.1 Indizes teilen
674
14.3.2 TREX reorganisieren
675
14.3.3 Deltaindizes einsetzen
676
14.3.4 Master- und Slave-Index-Server verwenden
678
14.3.5 Queue-Server konfigurieren
682
14.3.6 RFC-Verbindungen vom ABAP-System zum TREX erhöhen
687
14.4 InfoCubes im BWA indizieren
687
14.5 Zusammenfassung
693
15 Optimierung von Datenbankanfragen mit SAP HANA
695
15.1 SAP HANA-Einsatzszenarien
697
15.2 Grundlagen der Hauptspeicherdaten in SAP HANA und TREX
701
15.2.1 Spaltenorientierte Datenspeicherung
703
15.2.2 Datenkomprimierung
705
15.2.3 Datenhaltung im Hauptspeicher
709
15.2.4 Partitionierung und Parallelisierung
712
15.2.5 Indizierung
713
15.2.6 Datenmodellierung aus Performancesicht
716
15.3 SAP HANA-Architekturüberblick und Sizing
719
15.3.1 SAP HANA-Architekturüberblick
719
15.3.2 Sizing
722
15.3.3 HANA-Administrationswerkzeuge im Überblick
725
15.4 Technische Optimierungsoptionen im Detail
728
15.4.1 Hauptspeicheranalyse
728
15.4.2 Identifizierung und Analyse teurer SQLAnweisungen
736
15.4.3 Indizes anlegen (invertierter Index, konkatenierter Index)
745
15.4.4 Deltaindizes administrieren
749
15.4.5 Lastverteilung, Parallelisierung und Partitionierung
753
15.4.6 Optimierung von InfoCubes und DataStore-Objekten für SAP HANA
756
15.5 Zusammenfassung
760
Anhang
767
A Datenbankmonitore
767
B Wichtige Transaktionscodes
819
C Fragen und Antworten
823
D Glossar
829
E Informationsquellen
843
F Der Autor
858
Index
859