Leseprobe - Beck-Shop

Werbung
SAP PRESS
SAP-Performanceoptimierung
Analyse und Tuning von SAP-Systemen
Bearbeitet von
Thomas Schneider
erweitert 2013. Buch. ca. 879 S. Hardcover
ISBN 978 3 8362 2177 1
Format (B x L): 16 x 24 cm
Weitere Fachgebiete > EDV, Informatik > Datenbanken, Informationssicherheit,
Geschäftssoftware > SAP
schnell und portofrei erhältlich bei
Die Online-Fachbuchhandlung beck-shop.de ist spezialisiert auf Fachbücher, insbesondere Recht, Steuern und Wirtschaft.
Im Sortiment finden Sie alle Medien (Bücher, Zeitschriften, CDs, eBooks, etc.) aller Verlage. Ergänzt wird das Programm
durch Services wie Neuerscheinungsdienst oder Zusammenstellungen von Büchern zu Sonderpreisen. Der Shop führt mehr
als 8 Millionen Produkte.
2177.book Seite 3 Montag, 10. Juni 2013 11:30 11
Thomas Schneider
SAP -Performanceoptimierung
®
Analyse und Tuning von SAP-Systemen
Bonn 폷 Boston
2177.book Seite 5 Montag, 10. Juni 2013 11:30 11
Auf einen Blick
1
Performancemanagement einer SAP-Lösung ...........
33
2
Analyse von Hardware, Datenbank und
ABAP-Applikationsserver ........................................
75
3
Workload-Analyse .................................................. 149
4
Identifizierung von Performanceproblemen
in ABAP-Programmen ............................................. 189
5
Hardware-Sizing, System- und Lastverteilung .......... 239
6
Speicherkonfiguration ............................................. 281
7
Lastverteilung und Remote Function Calls ............... 317
8
SAP GUI und Internetanbindung ............................. 367
9
Sperren ................................................................... 403
10
Optimierung der Java Virtual Machine und
von Java-Programmen ............................................. 431
11
Optimierung von SQL-Anweisungen ....................... 485
12
SAP-Pufferung ........................................................ 549
13
Optimierung von Anfragen an SAP NetWeaver
Business Warehouse ............................................... 593
14
Optimierung von Suchanfragen mit TREX ................ 651
15
Optimierung von Datenbankanfragen
mit SAP HANA ........................................................ 695
2177.book Seite 7 Montag, 10. Juni 2013 11:30 11
Inhalt
Inhalt
Vorwort und Danksagung ............................................................. 17
Einleitung ..................................................................................... 19
1
Performancemanagement einer SAP-Lösung .......... 33
1.1
1.2
1.3
2
Die Architektur von SAP-Lösungen .............................
1.1.1 SAP-Lösungen und -Komponenten ................
1.1.2 Client-Server-Architektur ...............................
Das Überwachungs- und Optimierungskonzept
für eine SAP-Lösung ...................................................
1.2.1 Anforderungen an ein Überwachungsund Optimierungskonzept ..............................
1.2.2 Service Level Management .............................
1.2.3 Das Konzept für eine kontinuierliche
Performanceoptimierung ................................
1.2.4 Werkzeuge und Methoden für das
Überwachungs- und Optimierungskonzept .....
1.2.5 SAP Solution Manager ...................................
Zusammenfassung ......................................................
34
34
38
47
47
51
58
65
67
72
Analyse von Hardware, Datenbank und
ABAP-Applikationsserver ......................................... 75
2.1
2.2
2.3
2.4
Begriffsklärungen ........................................................
Hardwareanalyse ........................................................
2.2.1 Analyse eines Hardwareengpasses
(CPU und Hauptspeicher) ...............................
2.2.2 Identifizierung von
Schreib-/Lese-(I/O-)Problemen ......................
2.2.3 Weitere Analysen auf Betriebssystemebene ....
Datenbankanalyse ......................................................
2.3.1 Der Performancemonitor im DBA-Cockpit ......
2.3.2 Analyse der Datenbankpuffer .........................
2.3.3 Identifizierung teurer SQL-Anweisungen ........
2.3.4 Identifizierung von
Schreib-/Lese-(I/O-)Problemen ......................
2.3.5 Weitere Analysen auf Datenbankebene ..........
Analyse der SAP-Speicherkonfiguration ......................
2.4.1 Analyse der SAP-Puffer ..................................
76
77
79
86
87
89
90
92
96
103
105
114
115
7
2177.book Seite 8 Montag, 10. Juni 2013 11:30 11
Inhalt
2.4.2
2.5
2.6
2.7
2.8
3
117
119
121
123
124
127
130
132
134
135
137
141
144
145
146
Workload-Analyse .................................................... 149
3.1
3.2
3.3
3.4
3.5
8
Analyse des SAP Extended Memorys,
des SAP Heap Memorys und des
SAP Roll Memorys .........................................
2.4.3 Anzeige des allokierten Speichers ..................
2.4.4 Weitere Monitore zur detaillierten Analyse ...
Analyse der SAP-Workprozesse ..................................
2.5.1 Felder der Workprozess-Übersicht .................
2.5.2 Analyse der Workprozesse .............................
2.5.3 Globale Workprozess-Übersicht .....................
2.5.4 Überwachung der Dispatcher-Queue .............
Analyse des Internet Communication
Managers (ICM) .........................................................
Kontinuierliche Überwachung mit dem CCMS ............
2.7.1 Mit dem Überwachungsmonitor arbeiten ......
2.7.2 Monitoring-Baum einrichten .........................
2.7.3 Automatische Alert-Benachrichtigung
einrichten ......................................................
2.7.4 Grafische Benutzeroberfläche im
SAP Solution Manager ...................................
Zusammenfassung ......................................................
Grundlagen der Workload-Analyse und der
Laufzeitanalyse ...........................................................
Der Workload-Monitor ..............................................
3.2.1 Mit dem Workload-Monitor arbeiten ............
3.2.2 Technische Einstellungen zum
Workload-Monitor ........................................
Workload-Analyse .....................................................
3.3.1 Ablauf eines Transaktionsschrittes .................
3.3.2 Weitere Zeitkomponenten ............................
3.3.3 Interpretation der Antwortzeiten ...................
3.3.4 Aktivität, Durchsatz und Last .........................
Workload-Analyse durchführen ..................................
3.4.1 Allgemeines Performanceproblem
analysieren ....................................................
3.4.2 Spezielles Performanceproblem analysieren ...
End-to-End-Workload-Analyse ..................................
3.5.1 Grundlagen der End-to-End-WorkloadAnalyse .........................................................
3.5.2 Der zentrale Workload-Monitor ....................
150
153
153
156
157
157
160
161
163
165
165
173
176
177
178
2177.book Seite 9 Montag, 10. Juni 2013 11:30 11
Inhalt
3.5.3
3.6
4
Identifizierung von Performanceproblemen in
ABAP-Programmen .................................................. 189
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
5
Mit dem zentralen Workload-Monitor
arbeiten ......................................................... 179
3.5.4 Der End-to-End-Workload-Monitor
im SAP Solution Manager ............................... 183
Zusammenfassung ...................................................... 184
Einzelsatzstatistik ........................................................
Performance-Trace ......................................................
4.2.1 Performance-Trace erstellen ...........................
4.2.2 SQL-Trace auswerten .....................................
4.2.3 Weitere Funktionen im SQL-Trace .................
4.2.4 Puffer-Trace auswerten ..................................
4.2.5 RFC-Trace auswerten .....................................
4.2.6 HTTP-Trace auswerten ...................................
4.2.7 Enqueue-Trace auswerten ..............................
Performanceanalyse mit dem ABAP-Trace
(Laufzeitanalyse) .........................................................
4.3.1 ABAP-Trace erstellen .....................................
4.3.2 ABAP-Trace auswerten ...................................
4.3.3 Varianten verwenden .....................................
4.3.4 Ausblick: Einzeltransaktionsanalyse ................
4.3.5 Mit der Einzeltransaktionsanalyse arbeiten .....
Analyse des Speicherverbrauchs mit dem ABAP
Debugger und im Memory Inspector ..........................
Code Inspector ...........................................................
Zentrale Einzelsatzstatistik ..........................................
End-to-End-Laufzeitanalyse im
SAP Solution Manager ................................................
4.7.1 Laufzeitanalyse einschalten ............................
4.7.2 End-to-End-Laufzeitanalyse im
SAP Solution Manager anzeigen .....................
Zusammenfassung ......................................................
189
194
195
196
202
204
205
206
207
208
209
211
213
215
217
218
225
226
229
229
232
234
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
9
2177.book Seite 10 Montag, 10. Juni 2013 11:30 11
Inhalt
5.2
5.3
5.4
5.5
6
6.2
6.3
6.4
258
258
259
267
268
269
271
273
278
Grundlagen der Speicherkonfiguration .......................
6.1.1 Begriffsklärungen ...........................................
6.1.2 SAP Role Memory, SAP Extended Memory,
SAP Heap Memory ........................................
6.1.3 SAP Extended Global Memory und
SAP Paging Memory ......................................
Besonderheiten der Betriebssysteme ..........................
6.2.1 Zero Administration Memory Management
für Microsoft Windows ..................................
6.2.2 Memory Management für Linux ....................
6.2.3 Memory Management für IBM i ....................
Speicherbereiche konfigurieren und überwachen .......
6.3.1 Auslagerungsspeicher überwachen ................
6.3.2 SAP-Speicherbereiche konfigurieren und
überwachen ..................................................
6.3.3 Hilfe zur Fehlerbehebung ..............................
Zusammenfassung ......................................................
282
282
284
291
293
293
295
295
296
299
301
305
312
Lastverteilung und Remote Function Calls .............. 317
7.1
10
253
Speicherkonfiguration .............................................. 281
6.1
7
5.1.3 SAP Standard Application Benchmarks ..........
Sizing bei Laststeigerung, Versionswechsel
oder Migration ...........................................................
5.2.1 Übersicht über ein Sizing-Projekt im Umfeld
einer bereits produktiven Installation ............
5.2.2 Sizing im Umfeld produktiver Installationen
im Detail durchführen ...................................
Systemlandschaft planen ............................................
5.3.1 Verteilung von SAP-Applikationsinstanzen ....
5.3.2 Hardwarekonsolidierung ................................
5.3.3 System- und Datenbankkonsolidierung ..........
Services des SAP NetWeaver Application Servers .......
Zusammenfassung ......................................................
Lastverteilung innerhalb der ABAP-Instanzen ............. 318
7.1.1 Message-, Enqueue- und ATP-Service
verteilen ........................................................ 320
7.1.2 Dialog-, Hintergrund- und SpoolWorkprozesse verteilen ................................. 320
2177.book Seite 11 Montag, 10. Juni 2013 11:30 11
Inhalt
7.1.3
7.2
7.3
7.4
7.5
8
Benutzer und Workprozesse auf
CPU-Ressourcen verteilen ..............................
7.1.4 Dynamische Benutzerverteilung:
Anmeldegruppen konfigurieren ......................
7.1.5 Ressourcen pro Benutzer beschränken ...........
7.1.6 Betriebsarten .................................................
7.1.7 Dynamische Workprozesse konfigurieren .......
7.1.8 Verbuchung ...................................................
Remote Function Calls (RFC) .......................................
7.2.1 Grundlagen und Begriffe ................................
7.2.2 Ablauf eines RFCs ..........................................
7.2.3 RFC-Verbindungen konfigurieren
und testen .....................................................
7.2.4 Eingehende und ausgehende Last
überwachen ...................................................
7.2.5 Parallelisierung von Prozessen mit
asynchronen RFCs konfigurieren .....................
7.2.6 Datenübertragung mit transaktionalen
RFCs überwachen ...........................................
7.2.7 Hintergrund-RFCs ..........................................
Neues Lastverteilungskonzept .....................................
SAP Virtual Machine Container ...................................
Zusammenfassung ......................................................
321
324
328
329
329
330
338
338
341
344
348
354
355
357
357
360
362
SAP GUI und Internetanbindung ............................. 367
8.1
8.2
8.3
SAP GUI .....................................................................
8.1.1 Interaktionsmodell und Performancemessung .........................................................
8.1.2 Performance der GUI-Kommunikation
analysieren und optimieren ............................
SAP-Webanwendungen ..............................................
8.2.1 Einsatz von Web UI und SAP GUI planen .......
8.2.2 HTTP-Trace im Internet Communication
Manager ........................................................
Analysen auf dem Präsentationsserver ........................
8.3.1 Präsentationsserver-Trace für
Webanwendung .............................................
8.3.2 Performancewerkzeuge des Betriebssystems ...
8.3.3 Webanwendungen kontinuierlich
überwachen ...................................................
368
368
371
377
378
380
381
383
386
387
11
2177.book Seite 12 Montag, 10. Juni 2013 11:30 11
Inhalt
8.4
8.5
9
Business Server Pages (BSP), Web Dynpro ABAP
und integrierter ITS ....................................................
8.4.1 Grundlagen von Business Server Pages
und Web Dynpro ABAP .................................
8.4.2 Grundlagen des integrierten ITS ....................
8.4.3 Grundlagen von ABAP-Webservices ..............
8.4.4 Performanceanalyse von ABAPWebservices, BSPs, Web-Dynpro-ABAPund ITS-Anwendungen durchführen ..............
8.4.5 Aufrufe von Webservices überwachen ...........
Zusammenfassung ......................................................
388
388
392
394
394
397
398
Sperren ..................................................................... 403
9.1
9.2
9.3
9.4
9.5
Sperrkonzepte von Datenbanksystem und
SAP-System ...............................................................
9.1.1 Datenbanksperren .........................................
9.1.2 SAP-Enqueues ...............................................
Überwachung von Sperren .........................................
9.2.1 Datenbanksperren .........................................
9.2.2 SAP-Enqueues ...............................................
Nummernkreispufferung ............................................
9.3.1 Grundlagen ...................................................
9.3.2 Nummernkreispufferung einschalten .............
9.3.3 Nummernkreispufferung überwachen ............
Sperren mit Menge und ATP-Server ...........................
9.4.1 Grundlagen ...................................................
9.4.2 ATP-Server konfigurieren ...............................
9.4.3 ATP-Server überwachen ................................
Zusammenfassung ......................................................
404
404
405
407
408
412
414
414
419
420
421
422
424
426
427
10 Optimierung der Java Virtual Machine und
von Java-Programmen .............................................. 431
10.1
10.2
12
Garbage Collection ....................................................
10.1.1 Aufbau des Java Heaps ..................................
10.1.2 Garbage-Collection-Algorithmen ...................
10.1.3 Auswahl des Kollektors .................................
10.1.4 Parametrisierung des Java Heaps und
der Garbage Collection ..................................
10.1.5 Protokollierung von Garbage Collections .......
Just-in-Time-Compiler ...............................................
433
433
435
436
438
439
440
2177.book Seite 13 Montag, 10. Juni 2013 11:30 11
Inhalt
10.3
10.4
10.5
10.6
10.7
10.8
SAP Management Console ..........................................
SAP Java Virtual Machine Profiler ...............................
10.4.1 Architektur .....................................................
10.4.2 Verbindungsaufbau ........................................
10.4.3 Allocation Analysis .........................................
10.4.4 Performance Hotspot Analysis ........................
10.4.5 Method Parameter Analysis ...........................
10.4.6 Synchronization Analysis ................................
10.4.7 File- und Network-I/O-Analysis ......................
10.4.8 Garbage Collection Analysis ...........................
10.4.9 Klassenstatistik und Heap Dump ....................
Memory Analyzer .......................................................
10.5.1 HPROF-Dateien erstellen ...............................
10.5.2 Analyse des Java Heaps mit dem
Memory Analyzer ...........................................
Lokale Datenbankmonitore und SQL-Trace im
SAP NetWeaver AS Java .............................................
Java-Workload- und Laufzeitanalyse mit
CA Wily Introscope .....................................................
10.7.1 Funktionsweise von Introscope ......................
10.7.2 Mit dem WebView und der Workstation
von Introscope arbeiten .................................
10.7.3 Introscope Trace ............................................
Zusammenfassung ......................................................
441
444
444
445
448
455
459
461
464
466
469
471
472
472
475
478
478
479
481
482
11 Optimierung von SQL-Anweisungen ....................... 485
11.1
11.2
11.3
Teure SQL-Anweisungen identifizieren und
analysieren .................................................................
11.1.1 Identifizierung und Voranalyse .......................
11.1.2 Detaillierte Analyse ........................................
SQL-Anweisungen durch Sekundärindizes
optimieren ..................................................................
11.2.1 Ein wenig Theorie ..........................................
11.2.2 Indizes und Tabellenstatistiken
administrieren ................................................
11.2.3 Regeln zum Anlegen oder Ändern
von Sekundärindizes ......................................
SQL-Anweisungen im ABAP-Programm optimieren ....
11.3.1 Regeln für die performante SQLProgrammierung ............................................
487
487
490
494
494
504
511
521
521
13
2177.book Seite 14 Montag, 10. Juni 2013 11:30 11
Inhalt
11.4
11.5
11.3.2 Beispiel für die Optimierung eines
ABAP-Programms ..........................................
11.3.3 Vorbelegung von Feldern in Reporttransaktionen ................................................
Teure SQL-Anweisungen durch falsche
Puffereinstellungen und Administrationswerkzeuge ....
Zusammenfassung ......................................................
527
537
542
544
12 SAP-Pufferung .......................................................... 549
12.1
12.2
12.3
12.4
12.5
Grundlagen der Tabellenpufferung .............................
12.1.1 Pufferungsarten .............................................
12.1.2 Pufferzugriffe .................................................
12.1.3 Puffersynchronisation ....................................
12.1.4 Pufferung einschalten ....................................
12.1.5 Welche Tabellen sollen gepuffert werden? ....
Tabellenpufferung auf dem ABAP-Server
überwachen ...............................................................
12.2.1 Tabellenzugriffsstatistik .................................
12.2.2 Analyse der gepufferten Tabellen ...................
12.2.3 Analyse der bisher nicht gepufferten
Tabellen ........................................................
12.2.4 Detaillierte Tabellenanalyse ...........................
12.2.5 Monitor zur Puffersynchronisation
(DDLOG-Einträge) .........................................
12.2.6 SQL-Statistik und SQL-Trace ..........................
Objektorientierte Anwendungspuffer überwachen .....
Tabellenpufferung auf dem SAP NetWeaver
AS Java überwachen ..................................................
Zusammenfassung ......................................................
551
551
554
556
559
561
564
565
568
574
576
579
579
580
586
589
13 Optimierung von Anfragen an SAP NetWeaver
Business Warehouse ................................................ 593
13.1
14
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
2177.book Seite 15 Montag, 10. Juni 2013 11:30 11
Inhalt
13.2
13.3
13.4
13.1.3 Möglichkeiten der Performanceoptimierung im Überblick ..............................
13.1.4 BW-Administrationswerkzeuge im
Überblick .......................................................
Analyse teurer BW-Anfragen .......................................
Technische Optimierungsoptionen im Detail ...............
13.3.1 Indizierung administrieren ..............................
13.3.2 Einstellungen zur Datenselektion ...................
13.3.3 Komprimieren der Faktentabelle ....................
13.3.4 OLAP-Cache überwachen ...............................
13.3.5 Vorberechnung von Reports ...........................
13.3.6 Aggregate ......................................................
Zusammenfassung ......................................................
608
611
613
619
621
628
629
630
635
637
647
14 Optimierung von Suchanfragen mit TREX ............... 651
14.1
14.2
14.3
14.4
14.5
Grundlagen und Architektur des TREX unter
Performancegesichtspunkten ......................................
14.1.1 TREX-Einsatzszenarien und Suchfunktionen ...
14.1.2 Architektur des TREX .....................................
14.1.3 Besonderheiten des SAP NetWeaver BW
Accelerators ...................................................
14.1.4 TREX-Administrationswerkzeuge
im Überblick ..................................................
Performanceanalyse auf dem TREX durchführen .........
14.2.1 Auslastung der TREX-Server überwachen .......
14.2.2 Python-Trace erstellen und auswerten ............
14.2.3 Performance-Trace erstellen und auswerten ...
Technische Optimierungsoptionen im Detail ...............
14.3.1 Indizes teilen .................................................
14.3.2 TREX reorganisieren .......................................
14.3.3 Deltaindizes einsetzen ....................................
14.3.4 Master- und Slave-Index-Server verwenden ...
14.3.5 Queue-Server konfigurieren ...........................
14.3.6 RFC-Verbindungen vom ABAP-System
zum TREX erhöhen .........................................
InfoCubes im BWA indizieren .....................................
Zusammenfassung ......................................................
652
653
657
661
663
665
665
671
672
673
674
675
676
678
682
687
687
693
15
2177.book Seite 16 Montag, 10. Juni 2013 11:30 11
Inhalt
15 Optimierung von Datenbankanfragen
mit SAP HANA .......................................................... 695
15.1
15.2
15.3
15.4
15.5
SAP HANA-Einsatzszenarien ......................................
Grundlagen der Hauptspeicherdaten in
SAP HANA und TREX .................................................
15.2.1 Spaltenorientierte Datenspeicherung .............
15.2.2 Datenkomprimierung ....................................
15.2.3 Datenhaltung im Hauptspeicher ....................
15.2.4 Partitionierung und Parallelisierung ...............
15.2.5 Indizierung ....................................................
15.2.6 Datenmodellierung aus Performancesicht ......
SAP HANA-Architekturüberblick und Sizing ...............
15.3.1 SAP HANA-Architekturüberblick ...................
15.3.2 Sizing ............................................................
15.3.3 HANA-Administrationswerkzeuge
im Überblick ..................................................
Technische Optimierungsoptionen im Detail ..............
15.4.1 Hauptspeicheranalyse ....................................
15.4.2 Identifizierung und Analyse teurer
SQL-Anweisungen .........................................
15.4.3 Indizes anlegen (invertierter Index,
konkatenierter Index) ....................................
15.4.4 Deltaindizes administrieren ...........................
15.4.5 Lastverteilung, Parallelisierung und
Partitionierung ..............................................
15.4.6 Optimierung von InfoCubes und
DataStore-Objekten für SAP HANA ...............
Zusammenfassung ......................................................
697
701
703
705
709
712
713
716
719
719
722
725
728
728
736
745
749
753
756
760
Anhang ........................................................................... 765
A
B
C
D
E
F
Datenbankmonitore .............................................................
Wichtige Transaktionscodes .................................................
Fragen und Antworten .........................................................
Glossar .................................................................................
Informationsquellen .............................................................
Der Autor .............................................................................
767
819
823
829
843
858
Index .......................................................................................... 859
16
2177.book Seite 19 Montag, 10. Juni 2013 11:30 11
Einleitung
Warum ist die Performance Ihrer betriebswirtschaftlichen IT-Anwendung wichtig? Nur bei guten Antwortzeiten können Benutzer motiviert und effizient mit der Anwendung arbeiten. Ein langsames System führt zu Ausfallzeiten und Frustration. Eskaliert die Situation,
wird im schlimmsten Fall der zur Bewältigung der Geschäftsprozesse
erforderliche Durchsatz nicht mehr erreicht. Mehrarbeit, Produktionsverzögerungen und finanzielle Verluste sind die Folge. Umgekehrt steigert eine systematische, proaktive Performanceoptimierung
maßgeblich den Nutzen Ihrer betriebswirtschaftlichen Anwendung.
Performance
Die Performance eines Datenverarbeitungssystems ist als die Fähigkeit definiert, gegebene Anforderungen an Antwortzeiten und Datendurchsatz zu erfüllen. Solche Anforderungen können z. B. sein, dass
innerhalb einer Stunde ein Durchsatz von 10.000 gedruckten Rechnungen erreicht werden muss oder dass die Antwortzeit für das Erfassen eines Kundenauftrags unter einer Sekunde liegen soll. Eine gute
Performance ist keine absolute Eigenschaft einer betriebswirtschaftlichen Anwendung, sondern immer relativ zu den Anforderungen an
diese zu sehen.
Proaktives Performancemanagement
Unter Performanceoptimierung verstehen wir in diesem Buch einen
Prozess, der immer fünf Phasen umfasst: Die ersten beiden Phasen
sind, zu einem Verständnis der Geschäftsprozesse zu kommen sowie
Performanceziele festzulegen und zu quantifizieren. Diese Schritte
beziehen alle Beteiligten mit ein, d. h. Techniker und Anwendungsfachleute. Nur auf der Basis dieser Voraussetzungen kann eine Optimierung erfolgreich sein. Die Phasen drei bis fünf umfassen dann die
systematische Überwachung, Identifizierung und Analyse von Problemen, die Umsetzung von Optimierungsmaßnahmen und die erneute
Analyse zur Verifizierung des Erfolgs der eingeleiteten Maßnahmen
(siehe Abbildung 1). Vor unreflektiertem »Herumschrauben« an Konfigurationsparametern und vergleichbaren »Tuningschnellschüssen«
19
Performanceoptimierung
2177.book Seite 20 Montag, 10. Juni 2013 11:30 11
Einleitung
müssen wir warnen! Ziel dieses Buches ist es vielmehr, Ihnen die
Möglichkeiten zu eröffnen, Performanceprobleme zu identifizieren
und zu analysieren, um diese dann gezielt beheben zu können.
Verständnis der Geschäftsprozesse
Definition der Performanceziele
Überwachung und Analyse
Optimierung
Verifikation und Reporting der Ergebnisse
Abbildung 1 Performanceoptimierung in fünf Phasen
Technische
Optimierung
Eine betriebswirtschaftliche IT-Anwendung besteht, technisch gesehen, aus zahlreichen Komponenten: aus logischen Komponenten,
Prozessen wie Services, Threads oder Workprozessen und Speicherbereichen wie Puffern und Benutzerkontexten sowie physischen
Komponenten wie Prozessoren (CPU), Hauptspeicher (RAM), Festplatten und Netzwerksegmenten. Diese Komponenten erlauben
jeweils einen maximalen Durchsatz und eine optimale Antwortzeit.
Ist das Zusammenspiel der Komponenten nicht ideal abgestimmt
oder wird die Leistungsgrenze einzelner Komponenten erreicht, entstehen Wartesituationen, die sich negativ auf Durchsatz und Antwortzeit auswirken. Die Identifizierung, Analyse und Lösung solcher
Probleme durch das Abstimmen der Komponenten aufeinander und
die Verteilung der im System anfallenden Last sind die Aufgaben, die
wir in diesem Buch als technische Optimierung bezeichnen.
Optimierung von
Applikationen
Der zweite wichtige Bereich der Performanceoptimierung ist die Vermeidung unnötiger Last. Die Performance kann ebenso von ineffizienten Programmen oder dem ineffizienten Einsatz von Programmen
negativ beeinflusst werden. Die Optimierung einzelner Programme
bezeichnen wir als Applikationsoptimierung.
Ziel der Optimierung ist, zunächst die Systemeinstellung und die
Applikationen derart zu verbessern, dass auf der Basis der bereits vorhandenen Hardwareressourcen die gewünschte Performance erreicht
20
2177.book Seite 21 Montag, 10. Juni 2013 11:30 11
Proaktives Performancemanagement
wird. Genügt dies nicht, müssen die Ressourcen entsprechend den
gewonnenen Erkenntnissen erweitert werden.
Wie viel Aufwand ist für Performanceanalyse und Tuning einer SAPLösung nötig? Die Antwort auf diese Frage hängt stark von der Systemgröße ab. Für eine kleine oder mittelgroße Installation ohne Modifikationen am SAP-Standard und ohne Eigenentwicklungen genügt
in der Regel eine Performanceoptimierung kurz vor und kurz nach
dem Produktivstart sowie nach größeren Veränderungen, z. B. durch
Upgrades, Produktionsstarts neuer SAP-Lösungen, die Erhöhung der
Benutzerzahl, größere Datenübernahmen oder Mandantentransporte.
Darüber hinaus muss man natürlich nach Bedarf eingreifen, wenn
akute Performanceprobleme vorliegen. Das Tuningpotenzial und
damit auch der notwendige Analyse- und Optimierungsaufwand
wachsen mit der Systemgröße an. Die Praxis zeigt, dass insbesondere
kundeneigene Entwicklungen und Modifikationen am SAP-Standard
zu Performanceengpässen führen. Ursache dafür sind meist ungenügende Tests, aber auch Zeitdruck und mangelnde Erfahrung der
Entwickler. Den Extremfall bildet eine ständig weiterentwickelte
Großinstallation mit vielen hundert Benutzern, komplizierten Prozessketten, einem Dutzend oder mehr Entwicklern (die oft verschiedenen Beratungsfirmen angehören und zu unterschiedlichen Zeiten
und an unterschiedlichen Orten am System arbeiten) und einem ausgelagerten Systemmanagement. In einer solchen Systemumgebung ist
es unumgänglich, dass eine kleine Gruppe von Administratoren und
Entwicklern die Übersicht über das Gesamtsystem behält und die Performance nicht aus den Augen lässt.
Wie viel Tuning
ist nötig?
Hilfe bei Performanceanalyse und Tuning bieten die Remote-Services
der SAP. Namentlich sind dies der GoingLive Check, der Ihnen den
Produktivstart Ihres Systems erleichtert, und der EarlyWatch Service,
der Ihr produktives System überwacht und Ihnen weitere Optimierungen vorschlägt.
Wie trägt ein proaktives Performancemanagement dazu bei, Ihr Ziel zu
erreichen, eine betriebswirtschaftliche Anwendung erfolgreich zu
betreiben? Wenn Sie dieses Ziel erreichen wollen, müssen Sie zwei
Einflussfaktoren im Blick halten: die Zufriedenheit der Benutzer und
die Kosten für den Betrieb der betriebswirtschaftlichen Anwendung.
Die Kosten für den Betrieb ergeben sich zum einen aus den Kosten
für Hardware (Infrastruktur, CPU, Hauptspeicher, Festplatten und
21
Proaktives
Performancemanagement
2177.book Seite 22 Montag, 10. Juni 2013 11:30 11
Einleitung
Netzwerke) und Betriebspersonal (Administration, Wartung, Fehleranalyse). Nicht vernachlässigen dürfen Sie aber die Kosten, die entstehen, wenn eine Anwendung nicht zur Verfügung steht oder nicht die
geforderte Performance erreicht – der Schaden übersteigt in diesem
Fall innerhalb weniger Stunden oder Tage den Betrag, der im Mittel
in einem Jahr für die proaktive Performanceoptimierung investiert
wird. Diese Risikokosten müssen ebenfalls den Kosten für ein proaktives Performancemanagement gegenübergestellt werden. Tabelle 1
führt Ihnen anhand zweier konkreter Beispiele den Nutzen des proaktiven Performancemanagements vor Augen.
Proaktive
Maßnahme
Effekt im
System
Sofortiger Nutzen durch höhere
Benutzerzufriedenheit
Sofortiger Nutzen durch geringere Betriebskosten
Vermindertes Eskalationsrisiko
Optimierung
von SQLAnweisungen
Reduktion der
Datenbanklast
schnellere Antwortzeiten bei
bestimmten
Transaktionen
Hardwareinvestitionen (Datenbankserver,
Speichersystem)
können gestreckt
werden.
Überlastung
des Datenbanksystems
wird vermieden.
proaktives
Datenmanagement (Datenvermeidung,
Archivierung,
Reorganisation)
왘
Reduktion des
Datenbankwachstums
왘
kürzere Zeiten
für Wartungsarbeiten an der
Datenbank
(Backup/Recovery, Upgrade,
Migration, Systemkopie)
Datenbankgröße bleibt
»beherrschbar«.
왘
schnellere Antwortzeiten bei
bestimmten
Transaktionen
왘
Hardwareinvestitionen können
gestreckt werden.
왘
kürzere Downtime bei
Wartungsarbeiten
왘
geringerer Personalbedarf bei
Wartungsarbeiten
Tabelle 1 Beispiele für den Nutzen eines proaktiven Performancemanagements
Aktuelle Entwicklungen
Herausforderungen durch
das Internet und
mobile Geräte
Mit dem Aufstieg des Internets, der Smartphones und Tablet-Computer vollzieht sich ein Paradigmenwechsel in der Welt der betriebswirtschaftlichen Software: Nicht mehr auf den hoch spezialisierten
Angestellten an seinem PC zielt die Software ab, sondern auf Benutzer des Internets (extern oder firmenintern als Intranet) oder den
22
2177.book Seite 23 Montag, 10. Juni 2013 11:30 11
Aktuelle Entwicklungen
Benutzer eines mobilen Gerätes. Der klassische Ansatz einer Prozessautomatisierung mit SAP R/3 basiert auf hoch spezialisierten Anwendern, die von festen Arbeitsplätzen über installierte SAP GUIs auf ihr
ERP-System (Enterprise Resource Planning) zugreifen. Die Rolle dieses spezialisierten Vermittlers, der ausgebildet sein muss, um Software zu bedienen, wird allerdings an vielen Stellen zunehmend überflüssig. Stattdessen erhält der Endbenutzer durch Internet und
Mobilgerät direkten Zugriff auf die ERP-Systeme der Unternehmen.
Heute können z. B. in vielen Unternehmen die Mitarbeiter über das
Intranet ihre Arbeits- und Fehlzeiten, Reisekostenabrechnungen etc.
selbst in das System eingeben, wo dies früher über zentrale Benutzer
geschah. Kunden bestellen heute vermehrt ihre Produkte direkt über
das Internet und nicht mehr über den Umweg eines Briefes, Faxes
oder Telefonanrufs bei einem Vertriebscenter.
Die Erwartungen, die der Anwender einer Internet- oder mobilen
Anwendung an die Bedienbarkeit und Performance hat, sind ungleich höher als die des klassischen Angestellten an sein ERP-System.
Der Angestellte ist auf »sein« ERP-System angewiesen, und wenn es
ihm normalerweise dabei hilft, seine tägliche Arbeit zu vereinfachen,
wird er es akzeptieren und auch kleinere Fehler oder Performanceschwächen in Kauf nehmen. Ganz anders der Internetbenutzer: Funktionieren die Anwendungen, die ihm im Internet angeboten werden,
nicht einfach und performant, kann er sofort zur Konkurrenzfirma
wechseln und dort z. B. seine Einkäufe tätigen (»Die Konkurrenz ist
nur einen Mausklick entfernt.«). Hinzu kommt: Das Internet macht
nicht um 17 Uhr Feierabend – von einer E-Business-Lösung im Internet werden Verfügbarkeit und Performance an 365 Tagen 24 Stunden
lang gefordert. Nutzer von mobilen Anwendungen legen die Maßstäbe in Bezug auf Bedienbarkeit und Performance an eine SAP-Anwendung an, die sie auch von anderen Mobile Apps gewohnt sind.
Mit SAP HANA ist es SAP gelungen, ein Produkt auf den Markt zu
bringen, das Analysten bereits heute als die wichtigste Innovation
seit Jahren im Bereich von Business Software bezeichnen. Kern der
Innovation ist eine Hauptspeicherdatenbank, um die sich weitere Services, z. B. ein als XS-Engine bezeichneter Applikationsserver, gruppieren. In diesem Buch gehen wir ausschließlich auf die HANADatenbankplattform ein, da zu den weiteren Services die Felderfahrungen noch fehlen.
23
SAP HANA
2177.book Seite 24 Montag, 10. Juni 2013 11:30 11
Einleitung
Das wichtigste Argument für die Einführung von SAP HANA ist Performance! SAP HANA macht sich die Verfügbarkeit von riesigen
Hauptspeichern und massiv parallelen Prozessorarchitekturen zu
Nutze und setzt diese konsequent durch modernste Softwarearchitektur in Performance um. Vielleicht werden Sie sich fragen: Brauche ich
überhaupt noch ein Buch über Performance, wenn ich HANA habe?
Oder löst HANA alle Performanceprobleme? Die Antwort auf die
zweite Frage ist – nach der festen Überzeugung des Autors – ein doppeltes Nein: Zum einen kann auch SAP HANA keine Wunder vollbringen, wenn Ihr Programm ganze Datenbanktabellen in den Applikationsserver liest und – schlimmer noch – die Daten weiter zum
Webbrowser des Anwenders schickt. Der Löwenanteil der Laufzeit
entfällt dann auf den Applikationsserver, das Netzwerk und den
Browser. Die grundlegenden Regeln zur performanten Programmierung sind auch bei SAP HANA nicht außer Kraft gesetzt! Ein zweites
Nein ergibt sich aus der Tatsache, dass jeder technischen Innovation
»Begehrlichkeiten« oder, anders formuliert, Herausforderungen entgegenstehen. Eine dieser Herausforderungen heißt Big Data.
Big Data
Als Big Data bezeichnet man das Phänomen, dass immer mehr Daten
entstehen, die für Unternehmen von Interesse sind, diese Daten aber
bisher nicht oder nur unzureichend ausgewertet und nutzbar
gemacht werden können. Beispiele für solche Daten sind Beiträge in
sozialen Netzwerken, Protokolle von Webzugriffen, Bewegungsdaten
von Personen (z. B. über Mobilfunkortungen oder Posts mit Lokationsdaten in sozialen Netzwerken) und Produkten (die z. B. über
RFID-Chips erfasst werden), Daten von Kameras, Mikrofonen und
sonstigen Sensoren, Finanztransaktionen und Börsendaten sowie
Verbrauchsdaten im Energiesektor. Unternehmen sind interessiert
daran, diese Daten zu erfassen, zu verknüpfen, auszuwerten und so
über ihre Kunden, Märkte und Produkte wertvolle Einsichten zu
gewinnen. Als Beispiel sei ein Produktionsplaner in der Konsumgüterindustrie genannt. Um vorausschauender planen zu können,
werden ihm in Zukunft nicht nur die Produktionszahlen der Vergangenheit und aktuelle Bestellungen als Grundlage dienen, sondern
auch die aktuellen Trends der sozialen Netzwerke.
Kleine »Fehler« –
große Wirkung
All diesen Datenquellen ist gemein, dass ihre Menge die traditioneller betriebswirtschaftlicher Daten (sogenannte Stamm- und Bewegungsdaten) um ein Vielfaches übersteigt. Übertragen auf unsere Performancefrage heißt das: Ein nicht performanceoptimiertes System
24
2177.book Seite 25 Montag, 10. Juni 2013 11:30 11
Zu diesem Buch
oder Programm hat einen viel höheren Effekt als in einem »traditionellen« SAP Business Suite-System – als Konsequenz folgern wir:
Auch in Zukunft wird Performance-Know-how ein wertvolles Gut
sein.
Die Anforderungen an eine offene, flexible Softwarearchitektur
erfordern spezialisierte, für sich autark operierende Softwarekomponenten, die über Schnittstellen miteinander verknüpft sind. Dies
bedeutet, dass ein Geschäftsprozess mehrere Softwarekomponenten
involviert. Die stetig wachsende Anzahl von Lösungen und Komponenten ist eine Herausforderung für die Administration in den
Rechenzentren – die Anzahl hat sich von dem »überschaubaren« SAP
R/3 (mit SAP-Instanzen, Datenbank, Hardware/Betriebssystem) zu
einer ständig wachsenden Technologiepalette entwickelt – Produkte
eingeschlossen, die SAP nicht selbst produziert, sondern für die sie
als Reseller auftritt.
IT-Services
Konsequenterweise steuern die Betreiber von Geschäftsprozessen
diesem Trend entgegen, indem sie immer mehr Servicepartner in den
Betrieb des Geschäftsprozesses integrieren. Dabei kann dieses
Outsourcing nur die Hardware (Rechnerleistung, Festplattenspeicher,
Netzwerkressourcen etc.) oder auch die Applikation selbst (Application Service Providing, ASP) betreffen; z. B. kann man die Dienstleistung eines Internetproduktkatalogs komplett an einen Serviceanbieter vergeben, anstatt die Katalogsoftware selbst zu betreiben. Das
bedeutet, dass nicht nur über Hardware- und Softwarekomponenten,
sondern sogar über Firmen- und Kompetenzgrenzen hinweg Überwachung geleistet werden muss.
Insgesamt ergeben sich also völlig neue Anforderungen an die Administration und Überwachung von SAP-Lösungen, die mit herkömmlichen Konzepten nicht zu bewältigen sind.
Zu diesem Buch
Die in diesem Buch dargestellten Methoden der Performanceanalyse
und -optimierung entsprechen den Verfahren, die ursprünglich von
den Experten des EarlyWatch Services und des GoingLive Checks verwendet und in den SAP-Basis-Trainings Workload Analysis und Optimierung von ABAP-Programmen vermittelt werden. Mit jeder neuen
Auflage dieses Buches – mittlerweile der siebten – wird die Chance
25
Grundlagen
des Buches
2177.book Seite 26 Montag, 10. Juni 2013 11:30 11
Einleitung
genutzt, aktuelle Trends der Produktentwicklung bei SAP und – soweit relevant – Entwicklungen der IT-Welt allgemein adäquat zu behandeln.
In dieser Auflage sind die Java-Themen praktisch komplett neu
geschrieben und in einem Kapitel gebündelt worden. Der wichtigsten
Neuerung bei SAP seit vielen Jahren – SAP HANA – ist ein weiteres
neues Kapitel gewidmet, das sich zunächst auf die HANA-Datenbankplattform fokussiert. Weitere HANA-Services werden aufgrund der
fehlenden Felderfahrung noch nicht behandelt. Alle weiteren Kapitel
sind für diese Auflage überarbeitet und aktualisiert worden, z. B. wird
das neue ABAP-Lastverteilungskonzept (neu zu SAP NetWeaver 7.40)
beschrieben, und das Thema Background-RFCs wurde aufgenommen. In Anhang A, »Datenbankmonitore«, ist ein Abschnitt zur
Datenbank Sybase ASE hinzugekommen.
Verständnis der Geschäftsprozesse
Definition des Service Level Managements
Kapitel 1: Performancemanagement
Überwachung und Analyse
Kapitel 2: Systemüberwachung
AS ABAP
Kapitel 4: Programmanalyse
Kapitel 3: Workload-Analyse
AS ABAP
DB
DB
AS ABAP
DB
Detailanalyse und Optimierung
Applikationsserver
Datenbank
Kapitel 5: Sizing,
Lastverteilung
AS ABAP
Kapitel 11: SQL-Anweisungen
Kapitel 8: SAP GUI und
Internetanbindung
AS Java
AS ABAP
DB
Kapitel 12: Pufferung
AS ABAP
Kapitel 6: Speicherkonfiguration
AS ABAP
Kapitel 7: Lastverteilung,
Remote Function Calls
AS ABAP
AS ABAP
DB
Kapitel 10: SAP JVM
und Java-Programme
DB
AS ABAP
DB
Kapitel 13: SAP BW
Kapitel 14: TREX
AS Java
Abbildung 2 Die Kapitel dieses Buches
26
AS Java
Kapitel 9: Sperren
Kapitel 15: HANA
2177.book Seite 27 Montag, 10. Juni 2013 11:30 11
Zu diesem Buch
Abbildung 2 stellt die Kapitel dieses Buches orientiert an den fünf
Phasen der Performanceoptimierung im Überblick dar. Kapitel 1,
»Performancemanagement einer SAP-Lösung«, wendet sich sowohl
an SAP-Administratoren und SAP-Berater als auch an Anwendungsentwickler und SAP-Projektleiter. Es behandelt auf einem nicht technischen Niveau die folgenden grundlegenden Fragen zur Performanceanalyse:
왘
Welche Vorkehrungen müssen getroffen werden, um eine optimale Performance einer SAP-Lösung zu gewährleisten?
왘
Welche Maßnahmen zum Performancetuning kommen in Betracht?
왘
Welche Personen sind in den Tuningprozess involviert?
Hinter der dem Benutzer angebotenen Leistung verbirgt sich in der
Praxis oft ein Netz von Partnern, die jeweils Teilleistungen erbringen.
Viele Teile werden von unterschiedlichen, manchmal externen Serviceprovidern erbracht. Um diese Komplexität in den Griff zu bekommen, führen die meisten Leistungsanbieter und Kunden ein Service Level Management (SLM) ein. Als SLM bezeichnet man eine strukturierte
proaktive Methode, die das Ziel hat, den Benutzern einer IT-Anwendung ein adäquates Serviceniveau zu garantieren – in Übereinstimmung mit den betriebswirtschaftlichen Zielen des Auftraggebers und
bei optimalen Kosten. Wir zeigen in diesem Buch, mit welchen Werkzeugen und Methoden Sie ein SLM für eine SAP-Lösung einführen.
In den Kapiteln 2 bis 4 finden Sie die Darstellung der Performanceanalyse anhand des SAP NetWeaver Application Servers (AS) ABAP.
Nach Lektüre dieser Kapitel sind Sie in der Lage, eine systematische
Performanceanalyse für den AS ABAP inklusive Datenbank und
Betriebssystem durchzuführen.
In diesem Buch folgen wir zunächst der Strategie der Bottom-up-Analyse und beginnen in Kapitel 2, »Analyse von Hardware, Datenbank
und ABAP-Applikationsserver«, mit den Untersuchungen der Teilsysteme Betriebssystem, Datenbank, SAP-Speicherkonfiguration und
SAP-Workprozesse. Gleichzeitig werden Lösungsvorschläge angeboten, die den Administrator oder Berater befähigen sollen, die wichtigsten Performanceprobleme zu lösen. Für kleine und mittelgroße
Installationen wird diese Stufe des Tunings in vielen Fällen bereits
ausreichen.
27
Aufbau
2177.book Seite 28 Montag, 10. Juni 2013 11:30 11
Einleitung
Anschließend wird in Kapitel 3, »Workload-Analyse«, die komplexere
Workload-Analyse als Top-down-Analyse diskutiert. In Kapitel 4,
»Identifizierung von Performanceproblemen in ABAP-Programmen«,
finden Sie die Methoden zur Analyse einzelner Programme, u. a. mit
den Hilfsmitteln Einzelsatzstatistik, SQL-Trace und ABAP-Laufzeitanalyse.
Die weiteren Kapitel 5 bis 15 vermitteln Wissen, das für eine umfassende Performanceanalyse notwendig ist. Sie wenden sich an SAPBetreuer, die für das performante Funktionieren großer Systeme verantwortlich sind und die das Tuningpotenzial ihrer Systeme voll ausschöpfen wollen und müssen. Kapitel 5 bis 15 sind weitgehend eigenständige Einheiten und können mit Kenntnis der ersten vier Kapitel
in beliebiger Reihenfolge gelesen werden. Eventuelle Abhängigkeiten sind am Anfang jedes Kapitels vermerkt.
Behandelt werden in den Kapiteln 5 bis 10 die Themen, die sich auf
den Applikationsserver und den Präsentationsserver beziehen:
왘
Kapitel 5, »Hardware-Sizing, System- und Lastverteilung«: Eine optimal ausgelegte Hardware ist Voraussetzung dafür, dass auf der einen Seite keine Hardwareengpässe entstehen, dass aber auf der anderen Seite nicht zu hohe Kosten durch unnötig vorgehaltene
Hardware anfallen. Serverkonsolidierung – d. h. die Konzentration
aller Services auf wenigen, sehr leistungsfähigen Rechnern – ist
zweifellos ein wichtiger Trend auf dem IT-Markt der letzten Jahre.
Wir stellen dar, was Sie beachten sollten, wenn Sie diese Technologien effizient nutzen wollen.
왘
Kapitel 6, »Speicherkonfiguration« (Memory Management): Die
Konfiguration der von der SAP-Komponente allokierten Speicherbereiche hat wesentlichen Einfluss auf die Performance.
왘
Kapitel 7, »Lastverteilung und Remote Function Calls«: Eine optimale Lastverteilung von Webanfragen, Dialog-, Verbuchungs- und
Hintergrundaufträgen hilft dabei, Hardware optimal zu nutzen
und Engpässe aufgrund falscher Konfiguration zu vermeiden. Die
Performance von Schnittstellen zwischen Softwarekomponenten
trägt ebenfalls maßgeblich zur Performance der gesamten Lösung
bei. Bereits in der Vergangenheit waren E-Business-Lösungen, die
aus nur einem monolithischen R/3-System bestanden, eine Selten-
28
2177.book Seite 29 Montag, 10. Juni 2013 11:30 11
Zu diesem Buch
heit – die Regel sind offene, über Schnittstellen verbundene Lösungen aus mehreren Komponenten.
왘
Kapitel 8, »SAP GUI und Internetanbindung«: Analysen und Konfigurationsvorschläge zeigen das Optimierungspotenzial bei der
Anbindung der GUIs (klassisches SAP GUI oder Webbrowser) an
die Applikation auf. Im Detail werden hier die Performanceaspekte
von SAP GUI Controls, des Internet Transaction Servers (ITS), von
Business Server Pages und von Web Dynpro für ABAP behandelt.
왘
Kapitel 9, »Sperren«: Datenbank- und SAP-Sperren gewährleisten
die Datenkonsistenz. Durch eine optimierte Verwaltung von Sperren (z. B. durch den ATP-Server oder die Pufferung von Nummernkreisen) werden Durchsatzengpässe vermieden.
왘
Kapitel 10, »Optimierung der Java Virtual Machine und von JavaProgrammen«: In diesem Kapitel finden Sie die Beschreibung der
Werkzeuge, mit denen Sie die Performanceanalyse der Java Virtual Machine (SAP JVM) und von Java-Programmen durchführen
können.
Kapitel 11 eröffnet die Reihe der Kapitel mit Datenbankthemen und
ist Voraussetzung für die folgenden Kapitel 12 bis 15:
왘
Kapitel 11, »Optimierung von SQL-Anweisungen«: Ineffektive
SQL-Anweisungen beanspruchen die Datenbank übermäßig und
werden daher zum Problem für die Performance der gesamten
Anwendung. In diesem Kapitel stellen wir die Detailanalyse für
»teure« SQL-Anweisungen sowie Optimierungsmöglichkeiten
durch Datenbankindizes und durch Programmoptimierung (»fünf
goldene Regeln«) dar.
왘
Kapitel 12, »SAP-Pufferung«: Die Pufferung von Tabellen auf den
Applikationsservern beschleunigt den Zugriff auf oft gelesene
Daten und dient der Entlastung der Datenbank.
왘
Kapitel 13, »Optimierung von Anfragen an SAP NetWeaver Business Warehouse«: Business-Warehouse-Anfragen sind spezielle
SQL-Anweisungen, die in der Regel große Datenmengen bearbeiten – für diese Art von Anfragen existieren spezielle Optimierungsmöglichkeiten.
왘
Kapitel 14, »Optimierung von Suchanfragen mit TREX«: TREX
wird zur Optimierung von text- und attributbasierten Suchanfra-
29
2177.book Seite 30 Montag, 10. Juni 2013 11:30 11
Einleitung
gen sowie von Business-Warehouse-Anfragen (»BW Accelerator«)
genutzt – als Alternative zu herkömmlichen Datenbankindizes und
Aggregationstabellen.
왘
Kapitel 15, »Optimierung von Datenbankanfragen mit SAP
HANA«: Dem neuen »Wunderkind« von SAP ist ein eigenes Kapitel
gewidmet, das in die Grundlagen, Werkzeuge und Methoden zur
Performanceanalyse und -optimierung einführt.
Zielgruppen
Kenntnisse in der Performanceoptimierung von SAP-Systemen und
-Anwendungen sind für SAP-Administratoren, SAP-Anwendungsbetreuer, SAP-Entwickler und SAP-Projektleiter von größtem Nutzen –
an diese Zielgruppen richtet sich dieses Buch. Jedem Kapitel ist am
Ende der Einleitung ein kurzer Abschnitt mit dem Titel »Wann sollten Sie dieses Kapitel lesen« vorangestellt. Aus diesem ergibt sich die
genaue Zielgruppe des jeweiligen Kapitels.
Voraussetzungen
Dieses Buch setzt an den Stellen, an denen es um die konkrete Umsetzung von Empfehlungen geht, Kenntnisse in der Administration von
SAP-Komponenten in Theorie und Praxis voraus. Insbesondere die
Bedienung des Computer Center Management Systems (CCMS) sollte
Ihnen vertraut sein. Als gute Vorbereitung kann z. B. der Band »SAP
NetWeaver Application Server ABAP – Systemadministration« dienen
(siehe Anhang E, »Informationsquellen«). Teile dieses Buches, z. B.
die Kapitel 4, 9, 11 und 12, setzen außerdem Wissen über die Programmiersprache ABAP und die Funktionsweise von relationalen
Datenbanken und SQL voraus.
Grenzen
des Buches
In den folgenden Bereichen stößt das Buch an seine Grenzen:
왘
Hardware- und Netzwerktuning
Ein Engpass bei CPU, Hauptspeicher, I/O oder Netzwerk lässt sich
zwar aus dem SAP-System heraus mit großer Wahrscheinlichkeit
identifizieren, für eine detaillierte Analyse werden jedoch die
Werkzeuge der Hardware- bzw. Netzwerkanbieter benötigt. Angesichts der unübersehbaren Anzahl der angebotenen Produkte muss
dieser Bereich (insbesondere das Tuning der Festplatten) ausgeklammert bleiben.
왘
Datenbanken
SAP bietet im Computer Center Management System (CCMS)
Werkzeuge an, die die Administration und Analyse der verschiede-
30
2177.book Seite 31 Montag, 10. Juni 2013 11:30 11
Zu diesem Buch
nen Datenbankensysteme so weit wie möglich vereinheitlichen.
Wer jedoch tiefer in das Datenbanktuning einsteigt, kommt nicht
daran vorbei, sich mit den unterschiedlichen Architekturen der
Datenbanksysteme zu beschäftigen. Dabei ist es unmöglich, die
Feinheiten aller mit SAP-Lösungen eingesetzten Datenbanksysteme in diesem Buch in der gebührenden Tiefe zu behandeln.
Allerdings ist dies auch nicht notwendig, da zu allen Datenbanksystemen Literatur zum Tuning vorhanden ist. Dieses Buch kann
und will diese Literatur nicht ersetzen. Sein Schwerpunkt liegt vielmehr im SAP-spezifischen Kontext des Datenbanktunings und in
der Vermittlung datenbanksystemübergreifender Konzepte. Die
konkreten Beispiele betreffen immer einzelne Datenbanksysteme.
Im Anhang finden Sie eine Übersicht über die wichtigsten Monitore zur Datenbankanalyse für alle Datenbanksysteme.
왘
Applikationstuning
Viele Performanceprobleme lassen sich nur mit detailliertem
Anwendungswissen und Kenntnis der einzelnen SAP-Lösungen
lösen. Oft ist es eine Änderung im Customizing, die die Lösung des
Problems bringt. Know-how zum Tuning einzelner SAP-Lösungen
ist nicht Teil dieses Buches. Allerdings vermittelt es Ihnen Analysestrategien, sodass Sie Performanceprobleme auf bestimmte
Applikationen eingrenzen und somit an den richtigen Entwickler
oder Berater adressieren können.
Eine Frage, die bereits vor Erscheinen des Buches heftig diskutiert
wurde, ist, inwieweit release- und zeitabhängige Informationen
Inhalt des Buches sein können; dies betrifft z. B. Menüpfade, Empfehlungen für Konfigurationsparameter und Richtwerte für Performancekennzahlen. Eine neue Version, ein Patch (der SAP-Komponente, der Datenbank oder des Betriebssystems), eine neue
Rechnergeneration – diese und andere Faktoren können mit einem
Schlag alte Informationen wertlos machen; im schlimmsten Fall können sich veraltete Empfehlungen sogar kontraproduktiv auf die Performance auswirken. Dieses Risiko ist uns bewusst. Dennoch haben
wir uns dafür entschieden, zeitabhängige Informationen und Regeln
in das Buch aufzunehmen. Nur so kann Ihnen dieses Buch als Nachschlagwerk für die tägliche Arbeit in der SAP-Administration dienen.
Auf der anderen Seite ist klar: Dieses Buch ist kein Gesetzbuch, und
wer Performanceoptimierung nur als stures Befolgen von Regeln
31
Releaseabhängigkeit
2177.book Seite 32 Montag, 10. Juni 2013 11:30 11
Einleitung
betreibt, handelt fahrlässig. Die direkte Auseinandersetzung mit der
Lösung, der SAP-Onlinehilfe und aktuellen SAP-Hinweisen im SAP
Service Marketplace kann dieses Buch nicht ersetzen, sondern nur
fördern.
SAP NetWeaver
7.30
Alle Angaben zu Menüpfaden, Bezeichnungen in den Bildschirmen
der Performancemonitore und Richtwerten für Performancekennzahlen beziehen sich – sofern nicht anders vermerkt – auf SAP NetWeaver 7.30. An einigen Stellen geben wir bereits einen Ausblick auf
SAP NetWeaver 7.40.
Hinweise zur
Lektüre
In diesem Buch finden Sie mehrere Orientierungshilfen, die Ihnen
die Arbeit mit dem Buch erleichtern sollen.
In hervorgehobenen Informationskästen sind Inhalte zu finden, die
wissenswert und hilfreich sind, aber etwas außerhalb der eigentlichen Erläuterung stehen. Damit Sie die Informationen in den Kästen
sofort einordnen können, haben wir die Kästen mit Symbolen
gekennzeichnet:
Die mit diesem Symbol gekennzeichneten Tipps geben Ihnen spezielle Empfehlungen, die Ihnen die Arbeit erleichtern können.
In Kästen, die mit diesem Symbol gekennzeichnet sind, finden Sie
Informationen zu weiterführenden Themen oder wichtigen Inhalten,
die Sie sich merken sollten.
Dieses Symbol weist Sie auf Besonderheiten hin, die Sie beachten sollten. Es warnt Sie außerdem vor häufig gemachten Fehlern oder Problemen, die auftreten können.
Beispiele, durch dieses Symbol kenntlich gemacht, weisen auf Szenarien aus der Praxis hin und veranschaulichen die dargestellten Funktionen.
www.sap-press.de
Wie schon für die früheren Auflagen werden wir Aktualisierungen
und ggf. Korrekturen zum Buch auf der Verlagswebsite (www.sappress.de) bereitstellen.
32
2177.book Seite 75 Montag, 10. Juni 2013 11:30 11
Mit der Analyse der Hardwareressourcen, der Datenbank
sowie der Workprozesse und Speicherbereiche des SAP NetWeaver AS ABAP steigen wir – bottom-up – in die Performanceanalyse ein. Verschaffen Sie sich einen ersten Überblick über die
aktuelle Situation im System!
2
Analyse von Hardware, Datenbank
und ABAP-Applikationsserver
Dieses Kapitel erläutert die Grundlagen von Performanceanalysen
der Hardware, der Datenbank, der SAP-Speicherkonfiguration und
der SAP-Workprozesse des SAP NetWeaver Application Servers
ABAP. Am Ende eines jeden Abschnitts finden Sie Flussdiagramme,
die die wichtigsten Analysepfade zusammenfassen und die Abhängigkeiten zwischen den Analysen verdeutlichen. Im letzten Abschnitt
gehen wir auf den zentralen Überwachungsmonitor ein, der Performanceindikatoren aus allen Bereichen integriert.
Zu diesen Analysen erhalten Sie sofort Optimierungsvorschläge, sofern dies ohne umfangreichere Erklärungen möglich ist. Um auch einem in der Performanceanalyse unerfahrenen Berater oder Administrator einen schnellen Einstieg zu ermöglichen, verzichten wir
bewusst auf Hintergrundinformationen. So wird z. B. beschrieben,
wie Sie das SAP Extended Memory überwachen und einstellen, ohne
den Begriff SAP Extended Memory zu erklären. Umfassendere Informationen finden Sie anschließend in den Kapiteln 5 bis 15. Dieser
Aufbau trägt unserer Erfahrung Rechnung, dass es möglich ist, viele
Performanceprobleme im Bereich von Betriebssystem, Datenbank
und SAP-Basis anhand einfacher Handlungsanweisungen zu lösen,
ohne sich vorher eingehend mit den Details der Architektur zu beschäftigen.
75
2177.book Seite 76 Montag, 10. Juni 2013 11:30 11
2
Analyse von Hardware, Datenbank und ABAP-Applikationsserver
Wann sollten Sie dieses Kapitel lesen?
Dieses Kapitel sollten Sie lesen, wenn Sie die Performance des SAPSystems, der Datenbank oder des Betriebssystems vom SAP-System
aus technisch überwachen und optimieren wollen.
2.1
Begriffsklärungen
Die Begriffe Rechner, Server, Applikationsserver, SAP-Instanz, Datenbank, Datenbankserver und Datenbankinstanz werden in diesem Buch
wie folgt verwendet:
Rechner
Ein Rechner (oder Computer) ist eine physische Maschine mit CPU,
Hauptspeicher, IP-Adresse etc.
SAP-Applikationsinstanz
Eine SAP-Applikationsinstanz, auch kurz als SAP-Instanz bezeichnet,
ist eine administrative Einheit: Sie besteht aus einem Satz von SAPWorkprozessen, die von einem Dispatcher verwaltet werden, sowie
aus einem Satz von SAP-Puffern im Shared Memory des Rechners, auf
den die Workprozesse zugreifen. Eine SAP-Applikationsinstanz kann
eine ABAP-Applikationsinstanz (SAP NetWeaver Application Server
ABAP, kurz AS ABAP oder eine Java-Applikationsinstanz (SAP NetWeaver Application Server Java, kurz AS Java) sein. Es kann mehrere
SAP-Instanzen auf einem Rechner geben. In diesem Fall existieren
mehrere Dispatcher und mehrere Puffersätze. Ein Applikationsserver
ist ein Rechner, auf dem mindestens eine SAP-Instanz läuft.
Datenbank
Jedes SAP-System besitzt genau eine Datenbank. Als Datenbank
bezeichnen wir die Datenbasis, die z. B. in Form von Dateien vorliegt.
Die Datenbank ist der passive Teil des Datenbanksystems.
Der aktive Teil des Datenbanksystems ist die Datenbankinstanz, eine
administrative Einheit, die den Zugriff auf eine Datenbank erlaubt.
Eine Datenbankinstanz besteht aus Datenbankprozessen und einem
Satz von Datenbankpuffern im Shared Memory eines Rechners. Ein
Datenbankserver ist ein Rechner, auf dem mindestens eine Datenbankinstanz läuft. Ein Rechner kann zugleich Datenbank- und Applikationsserver sein, wenn eine Datenbankinstanz und eine SAP-Instanz
darauf laufen.
In der Regel operiert im SAP-Umfeld auf einer Datenbank nur eine
Datenbankinstanz. Beispiele für Datenbanksysteme, bei denen auf
76
2177.book Seite 77 Montag, 10. Juni 2013 11:30 11
Hardwareanalyse
eine Datenbank mehrere Datenbankinstanzen zugreifen, sind DB2
und Oracle Parallel Server. Die Besonderheiten solcher parallelen
Datenbanksysteme werden in diesem Buch nicht behandelt.
Als SAP-Systeme bezeichnen wir Softwarekomponenten von SAP mit
dem SAP NetWeaver AS als Grundlage. Im Einzelnen sind dies SAP
ERP, SAP NetWeaver BW, SAP APO, SAP SRM und SAP NetWeaver
Portal.
SAP-System
Im Sinne dieser Terminologie kann also z. B. ein SAP ERP-System aus
ein oder zwei Systemen bestehen, je nachdem, ob der Java- und der
ABAP-Teil auf einem gemeinsamen System mit einer Datenbank
(»Double-Stack«) oder auf zwei Systemen mit getrennten Datenbanken betrieben werden – dieser Terminologie folgt im Übrigen auch
der SAP Solution Manager.
Der Begriff Server wird in der Dokumentation und der Literatur
mehrdeutig verwendet. Er kann sowohl einen Rechner bezeichnen,
z. B. im Begriff Datenbankserver, als auch einen logischen Service, z. B.
in den Begriffen Message-Server und ATP-Server. So verwenden wir
auch ABAP-Server bzw. Java-Server als Kurzformen für den SAP NetWeaver Application Server (AS) ABAP bzw. Java.
2.2
Server
Hardwareanalyse
Das Werkzeug zur Analyse von Hardwareengpässen und Betriebssystemproblemen ist der Betriebssystemmonitor. Um diesen Monitor
für den Applikationsserver zu starten, auf dem Sie zurzeit angemeldet
sind, wählen Sie:
Betriebssystemmonitor
Werkzeuge 폷 Administration 폷 Monitor 폷 Performance 폷
Betriebssystem 폷 Lokal 폷 Betriebssystemmonitor
Alternativ können Sie den Transaktionscode ST06 verwenden. Sie
gelangen auf den Hauptbildschirm des Betriebssystemmonitors.
Zu Basis-Version 7.10 wurde der Betriebssystemmonitor überarbeitet. Nach dieser Überarbeitung führen die drei Transaktionscodes
OS06, OS07 und ST06 auf einen Monitor, mit dem sowohl der lokale
als auch entfernte Rechner überwacht werden können. Bei Versionen
vor 7.10 stehen die neuen Transaktionen unter den Transaktionscodes
OS06N, OS07N und ST06N zur Verfügung, mit den Transaktions-
77
Aufruf und
Verfügbarkeit
2.2
2177.book Seite 78 Montag, 10. Juni 2013 11:30 11
2
Analyse von Hardware, Datenbank und ABAP-Applikationsserver
codes OS06, OS07 und ST06 erreichen Sie nach wie vor die älteren
Transaktionen. Alle Informationen, die wir in diesem Buch besprechen, stehen Ihnen auch in den alten Transaktionen zur Verfügung.
Die Detailanalysen finden Sie über die Navigation mit der Schaltfläche Detail Analysis Menu.
Der Betriebssystemmonitor lässt sich auch aus der Serverübersicht
heraus aufrufen:
Werkzeuge 폷 Administration 폷 Monitor 폷 Systemüberwachung 폷
Server (Transaktionscode SM51)
Positionieren Sie anschließend den Cursor auf dem gewünschten
Applikationsserver, und wählen Sie im Menü Springen 폷 Monitore 폷
OS-Monitor.
Aufbau
Der Bildschirm des Betriebssystemmonitors teilt sich in drei Bereiche
(siehe Abbildung 2.1).
Abbildung 2.1 Hauptbildschirm des Betriebssystemmonitors
78
2177.book Seite 79 Montag, 10. Juni 2013 11:30 11
Hardwareanalyse
2.2
Im linken oberen Fenster finden Sie die Auswahl der Rechner, die
überwacht werden. Dort können Sie einen Rechner auswählen, den
Sie analysieren wollen. Im linken unteren Fenster wählen Sie die
Analysedaten aus. Die Daten zum ausgewählten Rechner und zur ausgewählten Analyse finden Sie im rechten Fenster.
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 Stand-alone-Datenbank,
eine SAP-Java-Instanz oder ein TREX läuft.
Beachten Sie, dass Sie diesen Monitor auch dann einrichten sollten,
wenn Sie mit einem Werkzeug eines anderen Herstellers die Auslastung Ihrer Rechner überwachen. Sollten Sie Support von SAP benötigen, kann ein Experte von SAP nur über den SAP-eigenen Monitor
die Rechner analysieren.
2.2.1
SAP-Support
Analyse eines Hardwareengpasses
(CPU und Hauptspeicher)
Eine Übersicht über die wichtigsten Betriebssystem- und Hardwaredaten finden Sie unter dem Punkt Snapshot in der Analyseauswahl
des Betriebssystemmonitors (siehe Abbildung 2.1). Alle Daten des
Betriebssystemmonitors werden vom Hilfsprogramm saposcol im
Zehn-Sekunden-Rhythmus aufgefrischt. Ein Auffrischen der Daten
mit der entsprechenden Drucktaste ergibt also nur dann neue Daten,
wenn zehn Sekunden verstrichen sind.
Im Abschnitt CPU finden Sie die Felder Benutzerauslastung, Systemauslastung und Leerlauf. Diese Werte zeigen an, wie viel Prozent der
CPU-Kapazität augenblicklich von Benutzerprozessen (d. h. vom SAPSystem, der Datenbank und weiteren Prozessen) und vom Betriebssystem selbst genutzt werden und wie viel Prozent derzeit frei sind. Das
Feld Anzahl CPUs gibt die Anzahl der CPU-Fäden (»Threads«) an.
Mittlere Prozesswartezeit ist die Anzahl der Prozesse, die auf einen
freien Prozessor warten. Dieser Wert wird im Mittel über eine Minute,
über fünf Minuten und über 15 Minuten angegeben. Die weiteren
Werte im Abschnitt CPU sind für die Performanceanalyse weniger
wichtig. Tabelle 2.1 gibt Ihnen einen Überblick über die Felder des
Betriebssystemmonitors.
79
CPU-Auslastung
2177.book Seite 80 Montag, 10. Juni 2013 11:30 11
2
Analyse von Hardware, Datenbank und ABAP-Applikationsserver
Feld
Bedeutung
Benutzerauslastung
CPU-Auslastung durch Benutzerprozesse
(SAP-System, Datenbank etc.)
Systemauslastung
CPU-Auslastung durch das Betriebssystem
Leerlauf
Freie CPU-Kapazität. Dieser Wert sollte mindestens 20 % betragen, optimalerweise aber 35 %.
Anzahl der CPUs
Anzahl der CPU-Threads
Mittlere Prozesswartezeit
Anzahl der Prozesse, die auf die CPUs warten,
gemittelt über eine, fünf bzw. 15 Minuten
Physischer Speicher
physisch vorhandener Hauptspeicher (RAM)
in KB
Tabelle 2.1 Felder des Betriebssystemmonitors
Prozessoren, Kerne (Cores) und Fäden (Threads)
Als Beschreibung der Rechnerausstattung findet man z. B. folgende Angaben:
»zwei Prozessoren, acht Cores, 16 Threads, Prozessor des Herstellers X mit
2.93 GHz Taktfrequenz«. Was bedeuten die Angaben über die Anzahl der
Prozessoren, Kerne (Cores) und Fäden (Threads) für das SAP-System?
Der Begriff Prozessor bezeichnet bekanntlich die zentrale Verarbeitungseinheit
(Central Processing Unit, CPU) eines Rechners, die in der Lage ist, Programme
auszuführen. Dabei unterscheidet man zwischen Einkernprozessoren und
Mehrkernprozessoren. Mehrkernprozessoren verfügen über mehrere vollständig ausgebaute Verarbeitungseinheiten (Kerne) auf einem Chip. Die einzelnen
Kerne teilen sich lediglich den Bus, sind also als vollwertige CPUs anzusehen.
Mehrfädige Prozessorkerne (Multi-Threaded-CPUs) verfügen über eine CPU,
melden sich aber als mehrere CPUs am Betriebssystem an. Damit bilden sich
für diese Kerne mehrere Warteschlangen, aus, zwischen denen der Kern hinund herschaltet. Um diesen Wechsel zu optimieren, besitzt jeder Thread einen
eigenen Registersatz, einschließlich Stack Pointer und Program Counter, damit
kann ohne zusätzliche Prozessorzyklen zwischen den Threads geschaltet werden. Diese hardwareseitigen Threads sollten Sie jedoch nicht mit den Threads
verwechseln, die die Anwendungsprozesse erzeugen (User- oder SoftwareThreads). Innerhalb eines Prozesses der Datenbank, des ABAP-, Java- oder
TREX-Servers können mehrere (Software-)Threads erzeugt werden, die vom
Betriebssystem in Zeitscheiben ausgeführt werden. Den Wechsel zwischen
den (Software-)Threads bezeichnet man als Kontextwechsel. Unter diesem
Gesichtspunkt kann man also sagen, dass zusätzliche (Hardware-)Threads
Kontextwechsel zwischen (Software-)Threads begünstigen und damit den vorhandenen Kern besser auslasten helfen, allerdings von der Leistungssteigerung
nicht ganz an einen zusätzlichen Kern heranreichen.
80
2177.book Seite 81 Montag, 10. Juni 2013 11:30 11
Hardwareanalyse
Der Abschnitt Memory enthält Informationen über den physisch vorhandenen Hauptspeicher (Feld Physischer Speicher) und Werte über
das Betriebssystem-Paging. Unter Swap finden Sie den aktuell allokierten Auslagerungsspeicher (Swap-Space). Der Auslagerungsspeicher
muss größer als die Summe des konfigurierten Speicherbereichs sein.
2.2
Hauptspeicherauslastung
Programmabbrüche durch Speicherknappheit
Ist die Summe aus physischem Speicher und Auslagerungsspeicher kleiner
als der vom SAP-System, von der Datenbank und anderen Programmen
benötigte Speicher, kann es zu Speicherverwaltungsfehlern (d. h. zu Programmabbrüchen innerhalb des SAP-Systems), im schlimmsten Fall sogar
zum Abbruch des Betriebssystems, kommen. Sie sollten also in jedem Fall
den Auslagerungsspeicher ausreichend dimensionieren.
Um einen Überblick über die CPU-Auslastung der letzten 24 Stunden
zu erhalten, wählen Sie im Betriebssystemmonitor die Analyse
Vorige Stunden 폷 CPU. Sie gelangen auf den Bildschirm Vorige
Stunden CPU. Die Bedeutung der Felder ist dieselbe wie im Hauptbildschirm, nur sind die Werte über eine Stunde gemittelt. Einen
ähnlichen Überblick gibt es auch für die Hauptspeicherbelegung
(Vorige Stunden 폷 Speicher) und für den Auslagerungsspeicher etc.
Historien: CPU und
Hauptspeicher
Wann liegt ein CPU- bzw. ein Hauptspeicherengpass vor?
Im Stundenmittel sollte der freie CPU-Anteil Leerlauf mindestens
20 % betragen, um auf kurze Lastspitzen reagieren zu können.
Erwünscht sind sogar eher 35 % freie CPU-Kapazität. Für die PagingRate gelten folgende Richtwerte:
왘
Bei Rechnern, die eine Datenbank, eine Java-Instanz oder einen
TREX beherbergen, sollten nur sehr geringe Paging-Raten zu beobachten sein, d. h., sie sollten so dimensioniert sein, dass der verfügbare Hauptspeicher den konfigurierten Speicherbereichen entspricht.
왘
Bei Rechnern, die ausschließlich ABAP-Instanzen tragen, können
mäßige Paging-Raten von bis zu 20 % des physischen Hauptspeichers pro Stunde toleriert werden.
Dabei ist für Betriebssysteme, die kontinuierlich Speicher auslagern
(z. B. Microsoft Windows), die Paged-in-Rate entscheidend, für
andere Betriebssysteme hingegen, die erst bei Bedarf auslagern (die
81
Richtwerte
2177.book Seite 82 Montag, 10. Juni 2013 11:30 11
2
Analyse von Hardware, Datenbank und ABAP-Applikationsserver
meisten UNIX-Derivate), die Paged-out-Rate. Umgekehrt bedeutet das
Überschreiten dieser Richtwerte nicht automatisch, dass ein Hardwareengpass vorliegt. Vielmehr sollten Sie in diesem Fall mithilfe des
Workload-Monitors prüfen, ob sich die CPU-Auslastung bzw. die
Paging-Rate negativ auf die Antwortzeiten auswirkt. Entsprechende
Analysen finden Sie in Abschnitt 3.4.1, »Allgemeines Performanceproblem analysieren«.
Hauptspeicherengpass
Wenn Sie in der Voranalyse hohe Paging-Raten auf mehreren Rechnern
beobachten, sollten Sie den von den SAP-Instanzen und der Datenbank
allokierten Hauptspeicher berechnen (siehe die Abschnitte 2.4.3,
»Anzeige des allokierten Speichers«, und 2.3.2, »Analyse der Datenbankpuffer«). Vergleichen Sie diesen mit dem physisch vorhandenen
Hauptspeicher. Erfahrungen zeigen, dass es in der Regel unkritisch ist,
50 % mehr Speicher virtuell zu allokieren, als physisch vorhanden sind.
Bei den Betriebssystemen Microsoft Windows und Oracle Solaris
kann die Auswertung der Paging-Rate auf dem Datenbankserver zu
Fehlinterpretationen führen, da dort Schreib-/Lese-Operationen (I/O)
unter gewissen Umständen ebenfalls als Paging gezählt werden. Vergleichen Sie dazu die SAP-Hinweise 124199 (Solaris) und 689818
(Windows).
Ursache von Hardwareengpässen
Ist nach den oben genannten Kriterien ein Hardwareengpass auf
einem oder mehreren Rechnern des SAP-Systems erkennbar, sind folgende Ursachen möglich:
왘
Falsche Lastverteilung
Wenn Sie in einem verteilten System mit mehreren Rechnern auf
mindestens einem Rechner einen Hardwareengpass feststellen,
während andere Rechner über ungenutzte Ressourcen verfügen,
liegt vermutlich eine falsche Lastverteilung vor. In diesem Fall sollten Sie die SAP-Workprozesse und die Benutzer neu verteilen.
Überaus wichtig ist es, dass der Datenbankserver über genügend
Ressourcen verfügt. Ein CPU- oder Hauptspeicherengpass auf dem
Datenbankserver führt dazu, dass die benötigten Daten aus der
Datenbank nicht zügig bereitgestellt werden können, was sich wiederum negativ auf die Antwortzeiten innerhalb des gesamten Systems auswirkt.
82
2177.book Seite 83 Montag, 10. Juni 2013 11:30 11
Hardwareanalyse
왘
2.2
CPU-Auslastung einzelner Programme
Wählen Sie im Betriebssystemmonitor (Transaktionscode ST06)
die Analyse Snapshot 폷 Top CPU processes. Sie gelangen in die
Übersicht der Betriebssystemprozesse. Diese gibt Ihnen einen
Überblick über die derzeit aktiven Prozesse und deren Ressourcenauslastung.
Abbildung 2.2 zeigt eine solche Übersicht für ein System, auf dem
eine ABAP-Instanz und eine DB2-Datenbank installiert sind. Folgende Prozesse können Sie identifizieren:
왘
dw_<instance>:
SAP-Workprozess der SAP-ABAP-Instanz auf
einem UNIX-Betriebssystem. Auf Windows-Betriebssystemen lautet die Bezeichnung disp+work.
왘
db2sysc: Datenbankprozess der DB2-Datenbank. Die Prozesse
anderer Datenbanken führen in der Regel ihre Markenbezeichnung (z. B. Oracle) im Prozess- oder Benutzernamen.
Abbildung 2.2 Analyse der Top-CPU-Prozesse im Betriebssystemmonitor
83
Übersicht der
Betriebssystemprozesse
2177.book Seite 84 Montag, 10. Juni 2013 11:30 11
2
Analyse von Hardware, Datenbank und ABAP-Applikationsserver
Betriebssystemprozesse, die Sie anhand der folgenden Namensbestandteile erkennen können, gehören außerdem zu SAP-Instanzen:
왘
jstart ...: Serverprozess der SAP-Java-Instanz
왘
TREX ...: TREX-Prozess, der Servertyp kann dem Prozessnamen
entnommen werden, z. B. Index-Server, Präprozessor etc.
왘
icman ...: Prozess des Internet Communication Managers (ICM)
왘
saposcol ...: Hilfsprogramm, das u. a. die Daten für den Betriebs-
systemmonitor sammelt
Analyse der CPUAuslastung
Beobachten Sie durch Auffrischen des Monitors, ob einzelne Prozesse
über längere Zeit hinweg die CPU stark belasten (Spalte CPU (%)).
Handelt es sich bei den Prozessen, die die CPU stark belasten, um Prozesse der SAP-Basis oder der Datenbank, finden Sie in den im Folgenden genannten Monitoren weitere Informationen über die Tätigkeiten der Prozesse. Starten Sie den Monitor in einem zweiten Modus,
identifizieren Sie anhand der Prozess-ID, die Sie auch in den entsprechenden Basismonitoren finden, den Prozess mit der hohen CPUAuslastung, und entnehmen Sie den Monitoren, welches Programm
bzw. welche Tabelle, Anfrage etc. der Prozess gerade bearbeitet.
왘
SAP-Workprozesse der ABAP-Instanz
Starten Sie in einem zweiten Modus die SAP-Workprozess-Übersicht (siehe Abschnitt 2.5, »Analyse der SAP-Workprozesse«). Der
Workprozess-Übersicht entnehmen Sie u. a. den Namen des laufenden ABAP-Programms und des zugehörigen Benutzers.
왘
Serverprozess der Java-Instanz
Starten Sie die SAP Management Console (siehe Abschnitt 10.3,
»SAP Management Console«). Prozessinterna erhalten Sie durch
einen Thread-Dump.
왘
TREX-Prozesse
Starten Sie das TREX-Administrationswerkzeug (siehe Abschnitt
14.2, »Performanceanalyse auf dem TREX durchführen«). Im
Monitor Services finden Sie Details zu den TREX-Services.
왘
ICM
Starten Sie den ICM-Monitor (siehe Abschnitt 2.6, »Analyse des
Internet Communication Managers (ICM)«).
왘
Datenbankprozesse
Starten Sie im DBA-Cockpit den Datenbankprozessmonitor (siehe
Abschnitt 2.3.3, »Identifizierung teurer SQL-Anweisungen«), um
84
2177.book Seite 85 Montag, 10. Juni 2013 11:30 11
Hardwareanalyse
2.2
die SQL-Anweisungen zu identifizieren, die aktuell von der Datenbank bearbeitet werden.
Die Prozessübersicht auf Betriebssystemebene bietet Ihnen also
zusammen mit den genannten Monitoren vergleichsweise bequem
die Möglichkeit, Programme, Transaktionen bzw. SQL-Anweisungen
oder TREX-Anfragen mit hoher CPU-Auslastung zu identifizieren.
Ein CPU-Engpass kann durch externe Prozesse verursacht werden. Finden Sie in der Prozessübersicht externe Prozesse (d. h. Prozesse, die
nicht direkt zum SAP-System gehören) mit einem hohen CPU-Konsum, die zu einem CPU-Engpass führen, sollten Sie prüfen, ob diese
für den Betrieb Ihres Systems notwendig sind oder ob sie abgeschaltet oder auf einen anderen Rechner verlagert werden können. Beispiele für externe Prozesse sind: Verwaltungssoftware, Virenscanner,
Backup, externe Systeme, Bildschirmschoner (!) etc.
Externe Prozesse
Identifizierung eines CPU-Engpasses
Sie beobachten während Ihrer Hauptarbeitszeit einen CPU-Engpass. In der
Prozessübersicht des Betriebssystemmonitors stellen Sie fest, dass ein SAPWorkprozess über Minuten hinweg eine CPU-Auslastung von 30 % zeigt.
In der SAP-Workprozess-Übersicht identifizieren Sie ein lang laufendes
Hintergrundprogramm. In diesem Fall sollten Sie prüfen, ob dieses Hintergrundprogramm zu Zeiten niedriger Dialoglast eingeplant werden kann.
Analog dem Vorgehen bei einem CPU-Engpass können Sie sich bei
einem Hauptspeicherengpass auf die Suche nach Programmen mit
hohem Speicherbedarf machen. Vergleichen Sie dazu Kapitel 6,
»Speicherkonfiguration«.
Speicherbedarf
einzelner
Programme
Betriebssysteme verwalten in der Regel einen eigenen File System
Cache. Dieser Cache konkurriert mit dem SAP-System und der Datenbank um die Nutzung des Hauptspeichers. Ist der Cache zu groß eingestellt, kommt es zu hohen Paging-Raten, obwohl mehr physischer
Hauptspeicher verfügbar ist, als durch SAP-System und Datenbank
allokiert wurden. Wir empfehlen Ihnen, diesen Cache auf 7 bis 10 %
des physischen Speichers zu reduzieren.
File System Cache
minimieren
Die Betriebssystemparameter zur Einstellung des File System Caches
sind z. B. dbc_max_pct bei HP-UX, ubc-maxpercent bei Digital UNIX
und maxperm bei AIX.
UNIX
85
2177.book Seite 86 Montag, 10. Juni 2013 11:30 11
2
Analyse von Hardware, Datenbank und ABAP-Applikationsserver
Windows
Um den Microsoft Windows File Cache zu minimieren, rufen Sie die
Netzwerkeinstellung (Symbol: Network) im Control Panel Ihres
Windows-Betriebssystems auf. Wählen Sie die Registerkarte Services, Service Server, Schaltfläche Properties. Wählen Sie in der folgenden Maske unter Optimization die Option Maximize Throughput for Network Applications aus, und bestätigen Sie mit OK. Um
den so reduzierten File Cache zu aktivieren, muss der Rechner neu
gestartet werden.
Ein Hauptspeicherengpass kann zu einem erhöhten CPU-Konsum
aufgrund starken Pagings und damit zum CPU-Engpass führen. Die
Beseitigung des Hauptspeicherengpasses kann also unter Umständen
ein Verschwinden des CPU-Engpasses mit sich bringen.
2.2.2
Identifizierung von Schreib-/Lese-(I/O-)Problemen
Im Betriebssystemmonitor (Transaktionscode ST06) finden Sie in der
Analysesicht Snapshot 폷 Platte u. a. Informationen über die Auslastung der Festplatten und – sofern das Betriebssystem diese korrekt
zur Verfügung stellt – über Warte- und Antwortzeiten der Platten.
Festplattenmonitor
Durch einen Doppelklick auf eine Zeile erhalten Sie für die ausgewählte Festplatte einen Überblick über die mittleren Antwortzeiten
innerhalb der letzten 24 Stunden. Tabelle 2.2 listet die angezeigten
Felder und ihre Bedeutung auf.
Feld
Bedeutung
Disk
Name der Festplatte auf Betriebssystemebene
Auslastung (%)
Auslastung der Platte (in Prozent)
Queue-Länge
Anzahl der Prozesse, die auf I/O-Operationen
warten
Wartezeit (ms)
Wartezeit (in Millisekunden)
Servicezeit (ms)
Servicezeit (in Millisekunden)
Übertragung (KB/s)
Übertragungsrate (in KB/Sekunde)
Operationen (per Sec)
Anzahl der I/O-Operationen (pro Sekunde)
Antwortzeit (ms)
mittlere Antwortzeit der Festplatte (in Millisekunden)
Tabelle 2.2 Felder des Festplattenmonitors
86
2177.book Seite 87 Montag, 10. Juni 2013 11:30 11
Hardwareanalyse
Stellen Sie anhand dieser Monitore fest, dass einzelne Platten stark
ausgelastet sind (Auslastung (%) > 50 %), liegt ein potenzieller I/OEngpass vor. Aus dem SAP-System heraus ist allerdings nur eine sehr
beschränkte Aussage über I/O-Probleme möglich. Eine detaillierte
Analyse kann nur mit Mitteln des Hardwarepartners durchgeführt
werden.
2.2
I/O-Engpass
Ein I/O-Engpass ist insbesondere dann kritisch, wenn auf dieser Festplatte der Auslagerungsspeicher des Betriebssystems liegt. Darüber
hinaus ist der Betriebssystemmonitor für den Datenbankserver von
besonderem Interesse. Zusammen mit dem Datenbankmonitor können mit dieser Anzeige Engpässe beim Lesen bzw. Schreiben auf die
Festplatten eingegrenzt werden. Weitere Details zu diesem Problem
finden Sie in Abschnitt 2.2.2, »Identifizierung von Schreib-/Lese-(I/O-)
Problemen«.
2.2.3
Weitere Analysen auf Betriebssystemebene
Das SAP-System protokolliert für UNIX-Betriebssysteme alle Änderungen der Betriebssystemparameter. Das Änderungsprotokoll kann
über den folgenden Pfad im Betriebssystemmonitor angezeigt werden: Weitere Funktionen 폷 Parameteränderungen. Positionieren
Sie den Cursor auf dem Namen eines Servers, und wählen Sie die
Schaltfläche History of File. Anhand des Änderungsprotokolls lässt
sich feststellen, ob Performanceprobleme eventuell erst nach Parameteränderungen aufgetreten sind und damit in Zusammenhang gebracht werden können.
Parameteränderungen
Mit dem Werkzeug Weitere Funktionen 폷 LAN-Überprüfung mit
Ping lässt sich ein grober Netzwerktest durchführen. Sie können
beliebige Datenbank-, Applikations- oder Präsentationsserver auswählen und die Netzwerkverbindung (z. B. die Antwortzeiten und
Datenverluste) testen. Auch wenn der Name der Analyse fälschlicherweise LAN-Überprüfung heißt, können auch Rechner im WAN angesprochen werden. Ein Beispiel für eine Analyse mit diesem Werkzeug
finden Sie in Abschnitt 8.1.2, »Performance der GUI-Kommunikation
analysieren und optimieren«.
Netzwerk-Check
87
2177.book Seite 88 Montag, 10. Juni 2013 11:30 11
2
Analyse von Hardware, Datenbank und ABAP-Applikationsserver
Zusammenfassung
Die Gefahr eines Hardwareengpasses besteht, wenn:
왘
im Stundenmittel weniger als 20 % CPU-Kapazität frei sind
왘
mehr als 20 % des physischen Hauptspeichers pro Stunde ausgelagert (»gepaged«) werden
왘
einzelne Festplatten der Datenbank zu mehr als 50 % ausgelastet
sind
Insbesondere die Überlastung des Datenbankservers kann zu Performanceproblemen führen, die sich systemweit auswirken. Prüfen Sie
mithilfe des Workload-Monitors, ob sich die hohe CPU-Auslastung
bzw. die hohen Paging-Raten negativ auf die Antwortzeiten des SAPSystems bzw. der Datenbank auswirken (siehe Abschnitt 3.4, »Workload-Analyse durchführen«).
Hardwareengpass
analysieren
Abbildung 2.3 und Abbildung 2.4 zeigen den Analysepfad bei einem
Hardwareengpass: Häufig kann ein Hardwareengpass durch die Neuverteilung der Last (z. B. durch das Verlagern von Workprozessen)
behoben werden. Ursachen für einen CPU-Engpass sind z. B. ineffiziente Applikationen, die im Datenbankprozessmonitor und in der
Workprozess-Übersicht identifiziert werden können, oder externe,
nicht zu einer SAP-Instanz bzw. der Datenbankinstanz gehörende
Prozesse. Daher muss immer eine vollständige Performanceanalyse
durchgeführt werden, bevor endgültig entschieden werden kann, ob
die vorhandene Hardware für die gegebenen Anforderungen an das
SAP-System ausreicht oder nicht.
Die Flussdiagramme in Abbildung 2.3 und Abbildung 2.4 zeigen
Ihnen schematisch das Vorgehen bei einem Hardwareengpass. Sie
verweisen auf später in diesem Buch beschriebene Monitore und
Analysen. Sie werden ähnliche Diagramme an vielen Stellen dieses
Buches finden.
88
2177.book Seite 89 Montag, 10. Juni 2013 11:30 11
Datenbankanalyse
Betriebssystemmonitor (Transaktionscode ST06)
Hohe CPU-Auslastung (CPU idle im Stundenmittel < 35%)
Ist noch CPU-Speicherkapazität auf anderen Rechnern des Systems frei?
SAP-Workprozesse und Benutzer neu verteilen!
Betriebssystemmonitor (Transaktionscode ST06): Top-CPU-Prozesse
SAP-Workprozesse mit hoher CPU-Auslastung
Workprozess-Übersicht (Transaktionscode SM50 oder SM66)
Detailanalyse des ABAP-Programms (mit ABAP-Trace SE30)
Datenbankprozesse mit hoher CPU-Auslastung?
Datenbankprozessmonitor (DBA-Cockpit, z. B. DB2 Applications)
Detailanalyse teurer SQL-Anweisungen
Externe Prozesse mit hoher CPU-Auslastung?
Abschalten, optimieren oder verlagern!
Abbildung 2.3 Detailanalyse eines Hardwareengpasses (CPU)
Betriebssystemmonitor (Transaktionscode ST06)
Hohe Paging-Rate (Paging pro Stunde > 20 % des RAM)?
Ist noch CPU- und Speicherkapazität auf anderen Rechnern des Systems frei?
SAP-Workprozesse und Benutzer neu verteilen
File System Cache > 10 % des RAM?
File System Cache reduzieren
SAP-Speicherkonfigurationsmonitor (Transaktionscode ST02): Modusliste
Benutzer mit hohem Speicherverbrauch?
Detailanalyse der Aktionen des Benutzers
Abbildung 2.4 Detailanalyse eines Hardwareengpasses (Hauptspeicher)
2.3
Datenbankanalyse
Der SAP NetWeaver Application Server (AS) kann zurzeit mit acht
verschiedenen relationalen Datenbanksystemen sowie mit der
Hauptspeicherdatenbank SAP HANA betrieben werden. Auch wenn
diese Datenbanksysteme alle eine unterschiedliche Architektur besit-
89
2.3
2177.book Seite 403 Montag, 10. Juni 2013 11:30 11
Sperren auf Datenbanktabellen oder Geschäftsobjekten sind
die Voraussetzung für konsistente Daten. Werden Sperren zu
lange gehalten, kann es im System zu Performanceproblemen
kommen, da Benutzer und Prozesse auf die Freigabe der Sperren warten müssen. Dieses Kapitel stellt detailliert die Sperrkonzepte und deren Überwachung dar.
9
Sperren
In einem SAP-System können viele Benutzer gleichzeitig Inhalte von
Datenbanktabellen lesen. Bei Änderungen des Datenbestands ist es
jedoch notwendig, sicherzustellen, dass zu einem bestimmten Zeitpunkt nur genau ein Benutzer einen bestimmten Tabelleninhalt
ändern kann. Zu diesem Zweck werden Tabelleninhalte während der
Änderung gesperrt. Die Sperrkonzepte von SAP-System und Datenbanksystem werden im ersten Abschnitt dieses Kapitels erklärt.
Werden Sperren lange Zeit gehalten, kann es zu Wartesituationen
kommen, die den Durchsatz des SAP-Systems beschränken. Mit allgemeinen Performanceaspekten von Sperren beschäftigt sich der zweite
Abschnitt dieses Kapitels.
Für die Verfügbarkeitsprüfung nach ATP-Logik (Available to Promise)
und die Nummernvergabe für Dokumente verwendet das SAP-System spezielle Pufferungstechniken, die die Sperrzeit minimieren und
den Durchsatz maximieren sollen. Diese Techniken werden im dritten und vierten Abschnitt diskutiert.
Wann sollten Sie dieses Kapitel lesen?
Dieses Kapitel sollten Sie lesen:
왘
um sich über Datenbanksperren und SAP-Sperren (SAP-Enqueues)
zu informieren
왘
wenn Sie in Ihrem SAP-System Probleme mit Datenbanksperren
oder SAP-Enqueues identifiziert haben und diese detaillierter analysieren wollen
403
2177.book Seite 404 Montag, 10. Juni 2013 11:30 11
9
Sperren
Dieses Kapitel ist keine Anleitung zur Entwicklung von SAP-Transaktionen. Dazu verweisen wir Sie auf ABAP-Lehrbücher oder die SAPOnlinehilfe.
9.1
Datenkonsistenz
Sperrkonzepte von Datenbanksystem und
SAP-System
Die Konsistenz der Daten in einem Datenbank- oder SAP-System wird
durch Sperren realisiert. Das SAP-System und das Datenbanksystem
bieten jeweils eigene Sperrkonzepte an, die zwar beide demselben
Zweck dienen (nämlich die Datenkonsistenz zu gewährleisten), aber
unterschiedliche technische Realisierungen und Einsatzbereiche
haben. Sperren, die vom Datenbanksystem verwaltet werden, heißen
Datenbanksperren (Database Locks), die vom SAP-System verwalteten
Sperren heißen SAP-Enqueues.
Bestellen eines Computers
Beim Konfigurieren und Bestellen eines neuen Computers muss geprüft
werden, ob alle gewünschten Komponenten zur Verfügung stehen, z. B.
Gehäuse, CPU, Hauptspeicher, Festplatte etc. Dabei gilt der Grundsatz
»ganz oder gar nicht«, d. h., wenn eine Komponente ausverkauft ist, kann
die Verfügbarkeit des gesamten Rechners nicht bestätigt werden. Wird
nun die Verfügbarkeit der unterschiedlichen Komponenten nacheinander
geprüft, muss für diesen Prüfzeitraum sichergestellt werden, dass andere
Benutzer nicht auf die einmal geprüften und bestätigten Komponenten zugreifen, bis die gesamte Bestellung endgültig bestätigt oder abgebrochen
wurde.
9.1.1
Datenbanksperren
Datenbanksperren werden vom Lock Handler der Datenbankinstanz
verwaltet. Die gesperrte Einheit ist eine Zeile einer Datenbanktabelle
(spezielle Ausnahmen werden am Ende von Abschnitt 9.2.1, »Datenbanksperren« erläutert). Datenbanksperren werden bei allen ändernden SQL-Anweisungen (UPDATE, INSERT, DELETE) sowie bei der
Anweisung SELECT FOR UPDATE gesetzt. Sie werden so lange gehalten,
bis mit der SQL-Anweisung COMMIT (Datenbank-Commit) alle Änderungen auf der Datenbank für gültig erklärt und dann die Datenbanksperren gelöst werden. Den Zeitraum zwischen zwei Datenbank-
404
2177.book Seite 405 Montag, 10. Juni 2013 11:30 11
Sperrkonzepte von Datenbanksystem und SAP-System
Commits bezeichnet man als Datenbanktransaktion. Alternativ können alle ändernden SQL-Anweisungen mit der SQL-Anweisung
ROLLBACK (Datenbank-Rollback) zurückgenommen werden. In diesem
Fall werden die gehaltenen Datenbanksperren ebenfalls gelöst.
Bestellen eines Computers (Fortsetzung)
Das oben erläuterte Beispiel der Verfügbarkeitsprüfung beim Bestellen
eines Computers mithilfe von Datenbanksperren realisieren Sie in der Programmierung mit der SQL-Anweisung SELECT FOR UPDATE: Mit dieser Anweisung wird gleichzeitig der Bestand einer Komponente gelesen und eine
Sperre auf den entsprechenden Bestand gesetzt. Haben Sie diese Prüfung
für alle Komponenten erfolgreich durchgeführt, ändern Sie anschließend
den Bestand (mit einem UPDATE auf die entsprechenden Zeilen) und geben
mit einem COMMIT alle Sperren frei. Während eine Sperre besteht, können
andere Benutzer die Daten zwar lesen (ein einfaches SELECT ist möglich),
nicht aber selbst die Zeile sperren. Es kann also weder ein UPDATE noch ein
SELECT FOR UPDATE durchgeführt werden. Eine solche Sperre bezeichnet
man als exklusiv.
Am Ende eines Transaktionsschrittes löst der SAP-Workprozess automatisch einen Datenbank-Commit (oder einen Datenbank-Rollback)
aus. Damit werden alle Datenbanksperren gelöst. Daraus ergibt sich,
dass Datenbanksperren nicht über mehrere Transaktionsschritte
(d. h. im SAP-System über mehrere Eingabebildschirme) hinweg
gehalten werden können.
9.1.2
SAP-Enqueues
Um Sperren über mehrere Schritte einer SAP-Transaktion hinweg zu
halten, verwenden Sie die SAP-eigene Enqueue-Verwaltung. Die SAPEnqueues werden vom Enqueue-Workprozess in der EnqueueTabelle verwaltet, die sich im Hauptspeicher befindet. Damit SAPEnqueues auch beim Stoppen der SAP-Instanz erhalten bleiben, werden diese zusätzlich in einer lokalen Datei auf dem Enqueue-Server
gesichert.
Durch einen SAP-Enqueue wird ein logisches Objekt gesperrt. So
können z. B. Zeilen aus mehreren Datenbanktabellen gesperrt werden, die zusammen einen Beleg bilden. Ein SAP-Enqueue kann auch
eine oder mehrere Tabellen sperren. SAP-Enqueue-Objekte werden
im ABAP Dictionary (Abschnitt Sperrobjekte) angelegt und geändert.
Sie hängen eng mit den Begriffen SAP-Transaktion und SAP Logical
405
SAP-EnqueueObjekte
9.1
2177.book Seite 406 Montag, 10. Juni 2013 11:30 11
9
Sperren
Unit of Work (SAP LUW) zusammen. Zu beiden Begriffen finden Sie
umfangreiche Dokumentationen in der ABAP-Literatur zur Dialogprogrammierung. Die Funktionsweise und Anwendung dieser Techniken innerhalb von ABAP-Programmen wird daher an dieser Stelle
nicht erläutert. Es soll genügen, hier die für eine Performanceanalyse
relevanten Aspekte darzustellen. Werden Performanceprobleme aufgrund eines fehlerhaften Einsatzes von SAP-Enqueues entdeckt, muss
in jedem Fall der zuständige ABAP-Entwickler hinzugezogen werden.
Ein SAP-Enqueue ist eine logische Sperre innerhalb des SAP-Systems.
Eine direkt auf der Datenbank ausgeführte SQL-Anweisung oder ein
kundeneigenes ABAP-Programm, das sich nicht an die SAP-EnqueueKonventionen hält, kann eine Tabellenzeile in der Datenbank ändern,
obwohl diese Zeile im SAP-System durch einen SAP-Enqueue
gesperrt ist. SAP-Enqueues gelten also nur innerhalb des SAP-Systems. Datenbanksperren dagegen sind für alle Zugriffe wirksam. Sie
sperren eine Tabellenzeile »hart« für alle Datenbankbenutzer, also
auch für solche außerhalb des SAP-Systems.
Funktionsbausteine
Zu jedem aktivierten SAP-Enqueue-Objekt existieren zwei Funktionsbausteine: ein Enqueue-Baustein und ein Dequeue-Baustein. Ein SAPEnqueue wird innerhalb eines ABAP-Programms explizit durch den
Aufruf des zugehörigen Enqueue-Bausteins gesetzt und explizit durch
den entsprechenden Dequeue-Baustein freigegeben. SAP-Enqueues
können damit über mehrere Transaktionsschritte gehalten werden.
Alle SAP-Enqueues werden allerdings automatisch bei Beendigung
einer SAP-Transaktion freigegeben.
Bestellen eines Computers (Fortsetzung)
Anhand unseres Beispiels der Rechnerkonfiguration und -bestellung erläutern wir die Funktionsweise der SAP-Enqueue-Verwaltung: Zum Rechner
gehören z. B. Gehäuse, CPU, Hauptspeicher und Festplatte. Die einzelnen
Komponenten werden auf unterschiedlichen Eingabebildschirmen, d. h.
mit mehreren Transaktionsschritten, bearbeitet und zur Bearbeitung durch
SAP-Enqueues gesperrt. Nachdem sichergestellt ist, dass jede Komponente einzeln reserviert werden kann, wird die Bestellung des Computers
bestätigt. Damit ist der Dialogteil der Transaktion abgeschlossen.
Ein Verbuchungs-Workprozess führt anschließend unter dem Schutz der
SAP-Enqueues die notwendigen Änderungen der Datenbanktabellen aus.
Erst nachdem der Verbuchungs-Workprozess seine Arbeit beendet hat, ist
die SAP LUW abgeschlossen, und die SAP-Enqueues werden wieder freigegeben.
406
2177.book Seite 407 Montag, 10. Juni 2013 11:30 11
Überwachung von Sperren
Zu einer SAP LUW gehören eventuell noch Bausteine, die in der V2Verbuchung bearbeitet werden. Dieses erfolgt ohne SAP-Enqueues.
In Bausteinen, die V2-verbuchbar sind, dürfen also nur Informationen bearbeitet werden, die nicht des Schutzes durch SAP-Enqueues
bedürfen (siehe auch Abschnitt 7.1.8, »Verbuchung«).
Die wichtigsten Eigenschaften von Datenbanksperren und SAPEnqueues fasst Tabelle 9.1 zusammen.
DB-Sperren (Locks)
Gesperrtes
Objekt
왘
einzelne Zeile einer
Datenbanktabelle
SAP-Sperren (Enqueues)
왘
logisches Objekt (z. B. ein
Beleg)
왘
definiert im ABAP
Dictionary
Sperre
wird
gesetzt
implizit durch ändernde
SQL-Anweisungen (z. B.
UPDATE) und SELECT FOR
UPDATE
explizit durch Aufruf eines
Enqueue-Bausteins im
ABAP-Programm
Sperre
wird freigegeben
왘
implizit durch SQLAnweisung COMMIT
bzw. ROLLBACK
왘
grundsätzlich am Ende
eines Transaktionsschrittes
Maximale
Haltedauer
왘
Länge eines Transaktionsschrittes
Verhalten
bei Sperrkonflikt
Wartesituation (Exclusive
Lockwait, siehe auch
Abschnitt 9.2.1, »Datenbanksperren«)
programmabhängig, z. B.
Fehlermeldung »Material X
ist gesperrt«
Überwachung
Transaktionscode DB01,
Exclusive Lockwaits
Transaktionscode SM12,
Sperrverwaltung
왘
explizit durch Aufruf eines
Dequeue-Bausteins
왘
grundsätzlich am Ende
einer SAP-Transaktion
über mehrere Transaktionsschritte hinweg
Tabelle 9.1 Eigenschaften von Datenbanksperren und SAP-Enqueues
9.2
Überwachung von Sperren
In diesem Abschnitt geben wir Ihnen Hinweise zur Überwachung
von Datenbanksperren und SAP-Enqueues.
407
9.2
2177.book Seite 408 Montag, 10. Juni 2013 11:30 11
9
Sperren
9.2.1
Exclusive
Lockwaits
Datenbanksperren
Was geschieht bei einem Sperrkonflikt, d. h., wenn ein Workprozess
ein Objekt sperren will, das bereits gesperrt ist? Bei Datenbanksperren wartet der zweite Prozess so lange, bis der Halter der Sperre diese
wieder freigegeben hat. Diese Wartesituation bezeichnet man als
Exclusive Lockwait. Bei den meisten Datenbanken gibt es keine zeitliche Beschränkung für diese Sperre. Wird die Sperre durch ein fehlerhaftes Verhalten des Programms nicht wieder freigegeben, kann die
Wartesituation ad infinitum bestehen.
Zu einer Eskalation kann es kommen, wenn ein Programm eine für das
SAP-System »lebenswichtige« Sperre (z. B. auf die Nummernkreistabelle NRIV) hält und nicht wieder freigibt. In diesem Fall besteht die
Gefahr, dass ein Workprozess nach dem anderen auf diese Sperre wartet. Sind schließlich alle Workprozesse belegt, besteht schließlich aus
dem SAP-Systems heraus keine Möglichkeit des Eingreifens mehr. Es
bleibt als letzte Alternative nur noch, mit Mitteln des Betriebssystems
den fehlerhaften Prozess abzubrechen (sofern er dann noch ermittelt
werden kann).
Sperrwartesituation prüfen
Die aktuellen Sperrwartesituationen werden im Datenbank-Sperrmonitor (Transaktionscode DB01) angezeigt, den Sie im DBA-Cockpit
(Transaktionscode DBACOCKPIT) über Performance 폷 Wartesituationen auf Sperren und Deadlocks oder in der globalen Workprozess-Übersicht (Transaktionscode SM66) über Springen 폷 DB Locks
starten können.
Die Beschreibung dieses Monitors und Hinweise, wie Sie bei Sperrwartesituationen vorgehen können, finden Sie in Abschnitt 2.3.5,
»Weitere Analysen auf Datenbankebene«. Sperrwartesituationen tragen zur Datenbankzeit bei und führen in den Statistiken des Workload-Monitors zu einer erhöhten Datenbankzeit. Von einigen Datenbanksystemen werden Sperrwartezeiten explizit aufgezeichnet und
im Datenbankmonitor angezeigt.
Sperrsituation auf der Datenbank
Mit dem folgenden Beispielprogramm können Sie eine Sperrsituation auf
der Datenbank provozieren:
REPORT zts_lock.
DATA: lv_text type natxt.
SELECT SINGLE FOR UPDATE text FROM T100 INTO lv_text WHERE sprsl
408
2177.book Seite 409 Montag, 10. Juni 2013 11:30 11
Überwachung von Sperren
9.2
= 'DE' AND ARBGB = '00' AND msgnr = '001'.
BREAK-POINT.
Gehen Sie dazu wie folgt vor:
1. Starten Sie das Programm in der ABAP Workbench (z. B. über Transaktionscode SE38). Nach wenigen Sekunden startet der Debugger, das
Programm hält am Befehl BREAK-POINT an. Zuvor hat das Programm mit
dem Befehl SELECT SINGLE FOR UPDATE eine Datenbanksperre gesetzt.
Da das Programm im Debug-Modus wartet, wird diese Datenbanksperre nicht zurückgenommen.
2. Starten Sie nun in einem zweiten Modus das Programm erneut. Im
zweiten Modus wird Ihnen die Sanduhr angezeigt.
3. Sie können das Programm erneut in einem dritten Modus starten, es
wird Ihnen wiederum die Sanduhr angezeigt.
4. Starten Sie in einem weiteren Modus den Datenbanksperrmonitor, wie
zuvor beschrieben. Die Sperrsituation wird angezeigt, und Sie können
erkennen, welcher Workprozess die Sperre hält und welcher wartet.
Mithilfe der Workprozess-Übersicht (Transaktionscode SM50) und des
Datenbankprozessmonitors können Sie nun analysieren, was der Prozess, der die Sperre hält, tut. In unserem Beispiel finden Sie als Status in
der Prozessübersicht hält und als Grund Debug.
5. Gehen Sie nun in den Debugger, und führen Sie dort die Ausführung des
Programms im ersten Modus fort. Das Programm wird beendet, die
Datenbanksperre wird durch ein implizites Commit oder Rollback der
Datenbankschnittstelle abgeräumt, und damit kann das Programm im
zweiten Modus, das bisher beim Befehl SELECT SINGLE FOR UPDATE wartete, fortfahren. Es wird also innerhalb kürzester Zeit ebenfalls den
Befehl BREAK-POINT erreichen und den Debugger starten.
6. Setzen Sie auch im zweiten und, falls Sie das Programm in weiteren
Modi gestartet haben, auch in diesen das Programm im Debugger fort,
um die Sperren freizugeben.
Grundsätzlich müssen Sie in Programmen darauf achten, dass Sperren möglichst spät angefordert werden. Es ist also besser, zunächst
alle benötigten Informationen von der Datenbank zu lesen und zu
bearbeiten, bevor Änderungen in der Datenbank vorgenommen und
Sperren gesetzt werden. In Abbildung 9.1 ist dies schematisch dargestellt: Im oberen Teil der Abbildung werden während einer Datenbanktransaktion mehrere Änderungen auf der Datenbank vorgenommen und damit Datenbanksperren unnötig lange gehalten. Der
untere Teil der Abbildung zeigt die elegantere Art der Programmierung: Während der Datenbanktransaktion werden die Änderungen
in einer internen Tabelle gesammelt und erst zum Ende der Transak-
409
Typische Probleme
2177.book Seite 410 Montag, 10. Juni 2013 11:30 11
9
Sperren
tion gebündelt in der Datenbank ausgeführt. Folglich verkürzt sich
die Sperrzeit auf der Datenbank.
A)
ABAP
COMMIT
Einzelne Updates
Datenbank
Datenbanksperren
B)
ABAP
APPEND TO <internal table>
SORT <internal table>
UPDATE FROM
<internal table>
COMMIT
Datenbank
Datenbanksperren
DB LUW
Abbildung 9.1 Sperren sollen möglichst spät gesetzt werden.
Ursachen
Eine Ursache von Sperrproblemen, die in SAP-Systemen immer wieder beobachtet wird, sind Kundenmodifikationen von Verbuchungsbausteinen. Die Trennung von Dialog- und Verbuchungsverarbeitung
bringt den Vorteil mit sich, dass im Dialogteil einer Transaktion nur
wenige Änderungen auf der Datenbank vorgenommen und damit
auch nur wenige Sperren gesetzt werden. Vielmehr werden diese im
Verbuchungsteil der Transaktion konzentriert. Mitunter werden Verbuchungsbausteine modifiziert, um z. B. eine kundeneigene Schnittstelle mit Daten zu versorgen. Wird diese Modifikation durchlaufen,
nachdem bereits Sperren gesetzt wurden, und ist diese Modifikation
inperformant, weil sie z. B. eine lang laufende SQL-Anweisung enthält, kommt es zu massiven Sperrproblemen in der Verbuchungsverarbeitung.
Eine zweite Quelle von Sperrproblemen sind Hintergrundprogramme, die eine Sperre anfordern und dann mehrere Stunden arbeiten, ohne ein Datenbank-Commit auszulösen. Sollen die gesperrten
Objekte ebenfalls von Dialogtransaktionen bearbeitet werden, müssen diese warten, bis das Hintergrundprogramm beendet ist oder ein
Commit auslöst. Eine Lösung für dieses Problem kann es sein, das
410
2177.book Seite 411 Montag, 10. Juni 2013 11:30 11
Überwachung von Sperren
9.2
Hintergrundprogramm in regelmäßigen Abständen ein Commit auslösen zu lassen (wenn dies vom Standpunkt der Datenkonsistenz
möglich ist) oder es nur zu Zeiten einzuplanen, in denen es den Dialogbetrieb nicht stört. Ähnliche Probleme treten bei der Parallelisierung von Hintergrundläufen auf, d. h., wenn dasselbe Programm
mehrfach parallel gestartet wird. Diese Parallelisierung macht jedoch
nur dann Sinn, wenn die Selektionsbedingungen so gewählt werden,
dass sich die parallel laufenden Programme nicht gegenseitig die
Daten sperren.
Deadlocks
Während Sie sich im ABAP Debugger befinden, wird in der Regel kein Datenbank-Commit ausgelöst, d. h., alle Datenbanksperren bleiben bestehen, bis Sie den Debugger wieder verlassen. Vermeiden Sie es daher, in
einem produktiven SAP-System mit dem Debugger zu arbeiten.
Im Folgenden beschreiben wir ein Beispiel für eine Situation, die man als
Deadlock bezeichnet. Nehmen wir an, die Workprozesse 1 und 2 wollen
jeweils eine Liste von Materialien sperren. Workprozess 1 sperrt Material
A und Workprozess 2 Material B. Anschließend fordert Workprozess 1 eine
Sperre auf Material B an, Workprozess 2 eine Sperre auf Material A. Beide
Workprozesse können die angeforderten Sperren nicht bekommen, da
diese vom jeweils anderen gehalten werden. Es entsteht also eine Situation, in der sich beide Prozesse gegenseitig blockieren. Solche Deadlocks
werden von der Datenbankinstanz automatisch erkannt und aufgelöst,
indem einem der beiden Workprozesse eine Fehlermeldung zurückgegeben wird. Diese führt dann zum Abbruch des ABAP-Programms und wird
im SAP-Syslog protokolliert.
Deadlocks können durch geschickte Programmierung leicht vermieden
werden. Wird in unserem Beispiel das Programm so geändert, dass die Materialliste vor dem Sperren sortiert wird, wird immer zuerst Material A gesperrt und erst, wenn dies erfolgreich war, Material B. Damit ist ein Deadlock ausgeschlossen.
Deadlock-Situationen sollten die absolute Ausnahme sein. Treten diese
vermehrt auf, deutet dies auf einen Fehler im Programm oder in der Konfiguration der Datenbankinstanz hin.
Von einigen Datenbanksystemen (z. B. DB2 und SAP MaxDB) werden
in gewissen seltenen Fällen Einzelsatzsperren automatisch zu Tabellensperren zusammengefasst, wenn die Anzahl der gesperrten Zeilen
einer Tabelle eine gewisse Quote im Verhältnis zur Gesamtzahl von
Zeilen in der Tabelle (z. B. 10 %) überschreitet. In diesem Fall entscheiden diese Datenbankensysteme, dass es günstiger ist, die
411
Tabellensperren
2177.book Seite 412 Montag, 10. Juni 2013 11:30 11
9
Sperren
gesamte Tabelle für einen Workprozess zu sperren, anstatt viele Sperren auf einzelne Zeilen zu verwalten. Praktische Konsequenzen hat
dieses Verhalten z. B. für die Parallelisierung von Programmen, die
eine gesamte Tabelle ändern sollen. Es ist nicht möglich, Hintergrundjobs so einzuplanen, dass z. B. der eine die erste Hälfte der
Tabelle aktualisiert und der zweite gleichzeitig die andere Hälfte, da
die Datenbank nach kurzer Zeit die Tabelle exklusiv für einen der
Jobs sperren wird. Betroffen von dieser Einschränkung ist z. B. der
Periodenverschieber in der Materialwirtschaft.
Tabellensperren
Durch Datenbankparameter können Sie beeinflussen, wann Einzelsatzsperren automatisch zu Tabellensperren zusammengefasst werden.
Ganze Tabellen werden auch aus administrativen Gründen gesperrt, z. B.
beim Anlegen von Indizes und bei bestimmten Tabellen- oder Indexanalysen der Datenbank (z. B. VALIDATE STRUCTURE bei Oracle). Werden diese
Operationen im produktiven Betrieb durchgeführt, können daraus massive
Performanceprobleme resultieren.
9.2.2
SAP-Enqueues
Die SAP-Enqueues werden in der Enqueue-Tabelle verwaltet, die sich
im globalen Hauptspeicher des Enqueue-Servers befindet. Die Workprozesse des Enqueue-Servers greifen direkt auf die Enqueue-Tabelle
zu, Workprozesse anderer Applikationsserver lassen ihre Sperroperationen vom Enqueue-Workprozess durchführen, wobei sie über den
Message-Service miteinander kommunizieren (1, 2 in Abbildung
9.2). In Abbildung 9.2 werden folgende Abkürzungen verwendet:
DIA: Dialog-Workprozess; ENQ: Enqueue-Workprozess; ENQ-Tab:
Enqueue-Tabelle.
Instanz A (Enqueue-Server)
Instanz B
Message-Server
Dispatcher
DIA
DIA
DIA
Dispatcher
ENQ
DIA
DIA
DIA
ENQ-Tab
Abbildung 9.2 Kommunikation beim Setzen und Freigeben von SAP-Enqueues
412
2177.book Seite 413 Montag, 10. Juni 2013 11:30 11
Überwachung von Sperren
9.2
Das Setzen und Freigeben von Sperren dauert bei Workprozessen des
Enqueue-Servers weniger als eine Millisekunde, bei Workprozessen
anderer Applikationsserver weniger als 100 Millisekunden.
Wird ein SAP-Enqueue angefordert, der schon von einem anderen
Benutzer gehalten wird, wird der Versuch, die Sperre zu setzen,
zurückgewiesen und die Kontrolle mit einer entsprechenden Fehlermeldung an das ABAP-Programm zurückgegeben. Es steht nun dem
Anwendungsentwickler frei, diese Fehlermeldung im Programm zu
behandeln. Bei Programmen im Dialogbetrieb wird in der Regel die
entsprechende Fehlermeldung an den Benutzer weitergereicht, z. B.
mit der Nachricht »Material X gesperrt durch Benutzer Y«. In Hintergrundprogrammen wird dann zu einem späteren Zeitpunkt erneut
versucht, die Sperre zu setzen. Nach einer gewissen Anzahl erfolgloser Versuche wird eine entsprechende Fehlermeldung in das Protokoll des Programms geschrieben.
Performanceprobleme mit
SAP-Enqueues
Performanceprobleme aufgrund von (zu) lang gehaltenen SAPEnqueues ergeben sich aus der Tatsache, dass der Benutzer nach
einem erfolglosen Versuch seine Eingabe wiederholen wird. Nehmen
wir z. B. an, dass er eine Materialliste bearbeiten und dazu 100 SAPEnqueues setzen müsse. Schlägt der Versuch beim 99. Enqueue fehl
und bricht das Programm mit der Meldung »Material Nummer 99 ist
gesperrt« ab, war die gesamte zuvor vom System geleistete Arbeit
vergebens und muss wiederholt werden. Fehlgeschlagene Anforderungen von Enqueues führen also zu erhöhter Last auf dem System
und begrenzen den Durchsatz von Transaktionen.
Eine Übersicht über alle zurzeit aktiven SAP-Enqueues gibt Ihnen
Transaktion SM12 über den Pfad:
Werkzeuge 폷 Administration 폷 Monitor 폷 Sperreinträge
Zur Fehlerdiagnose starten Sie die folgenden Testprogramme:
Zusätze 폷 Diagnose bzw. Zusätze 폷 Diagnose in VB
Werden Fehler gemeldet, suchen Sie im SAP Service Marketplace der
SAP nach Hinweisen oder wenden sich direkt an SAP.
Über die Menüoption Zusätze 폷 Statistik gelangen Sie in eine Statistik zur Aktivität des Enqueue-Services. Die ersten drei Werte zeigen
die Anzahl der Enqueue-Anforderungen, die Anzahl der erfolglosen
Anforderungen (erfolglos, weil der angeforderte Enqueue bereits
413
Enqueue-Statistik
2177.book Seite 414 Montag, 10. Juni 2013 11:30 11
9
Sperren
anderweitig gehalten wurde) und die Anzahl der Fehler bei EnqueueAnforderungen. Dabei sollte der Anteil der erfolglosen Anforderungen nicht mehr als 1 % der gesamten Anforderungen ausmachen.
Fehler sollten überhaupt nicht auftreten.
9.3
Nummernkreispufferung
Bei vielen Datenstrukturen ist es erforderlich, auf die einzelnen
Datenbanksätze gezielt zugreifen zu können. Dies wird mit eindeutigen Schlüsseln realisiert. Nummernkreise dienen dazu, einzelnen
Datensätzen zu einem betriebswirtschaftlichen Objekt Nummern zur
Vervollständigung des Schlüssels zuzuweisen. Solche Nummern sind
z. B. Auftragsnummern oder Materialstammnummern. Mit der SAPNummernkreisverwaltung wird der Nummernstand überwacht,
sodass bereits vergebene Nummern nicht erneut verteilt werden.
9.3.1
Grundlagen
Ein betriebswirtschaftliches Objekt, für das über die Nummernkreise
Teilschlüssel gebildet werden sollen, wird als Nummernkreisobjekt im
SAP-System definiert. Ein Nummernkreis enthält ein Nummernkreisintervall mit definiertem Zeichenvorrat. Das Nummernkreisintervall besteht aus Zahlen oder alphanumerischen Zeichen und
wird begrenzt durch die Felder Von-Nummer und Bis-Nummer. Einem Nummernkreis werden ein oder mehrere Intervalle zugeordnet.
Technische
Realisierung
Der aktuelle Nummernkreisstand eines Nummernkreises, d. h. die
Nummer, die als nächste vergeben wird, wird in der Datenbanktabelle NRIV verwaltet. Benötigt ein Programm eine Nummer (z. B.
aus dem Nummernkreis MATBELEG), führt es die folgenden Schritte
durch:
1. Das Programm liest den aktuellen Nummernkreisstand von der
Tabelle NRIV und sperrt gleichzeitig den Nummernkreis MATBELEG.
Dazu setzt es eine Datenbanksperre mit der SQL-Anweisung
SELECT FOR UPDATE auf die Zeile der Tabelle NRIV, die den Nummernkreis MATBELEG verwaltet.
414
2177.book Seite 859 Montag, 10. Juni 2013 11:30 11
Index
64-Bit 283
64-Bit-Architektur 297
A
ABAP 490, 492, 829
ABAP Class Builder 583
ABAP Debugger 189, 218, 235
ABAP Dictionary 109, 504, 529, 549,
581, 829
Anzeige 820
Pflege 820
Tabelle 820
ABAP Editor 311, 539, 820
ABAP Objects 583
ABAP Shared Objects 307
ABAP Webservices 394
ABAP Workbench 225, 409, 541, 820
ABAP-Applikationsinstanz 76, 277
ABAP-Instanz 363
ABAP-Klassenbibliothek 820
ABAP-Laufzeitanalyse 208, 211, 235,
521
ABAP-Laufzeitanalyse, Web-DynproAnwendungen 210, 397
ABAP-Laufzeitfehler 821
ABAP-Programm 521, 527
Laufzeitanalyse 194
Qualitätsanalyse 225
ABAP-Programmabbruch 306
ABAP-Server 151, 159
ABAP-Trace 66, 189, 208
Einzeltransaktionsanalyse 217
Summary 216
Varianten 213
ABAP-Webservice 394
ACID-Prinzipien 829
Activation Queue 758
Active Data 758
Active Session History 101
Adaptive Computing Controller 270
Address Space 282
Administrationswerkzeug, Datenbank 543
Adressraum 829
Agent 178, 787, 789
Agent Private Memory 787
Aggregat 491, 637, 644, 688, 695,
718
anlegen 640
Funktion 522
Indizierung 645
komprimieren 646
Pflege 645
Vorschlag 642
Aggregierung 213
Ähnlichkeitsmaß 656
Aktionsprofil 180
Aktivität 씮 Durchsatz
ALE 829
ALE-Administration 819
Alert 138
Alert, automatischer 144
Alert-Monitor 829
Alert-Server 658, 663, 675
Allocation Analysis 448
Allocation Trace 482
Allokationsrate 454
ALV Control 368
American National Standards
Institute 829
Analyse
linguistische 656, 700
logische 62
technische 62
Analysemethode 137
analytische Anwendung 594
Änderung, logische 169
Änderungs- und Transportsystem 560
Änderungsauftrag 560
Änderungslauf 647, 693
Anfrage, analytische 709
Anmeldegruppe 277, 324, 348
Anmeldegruppe, Pflege 821
Anmeldegruppen-Monitor 319
ANSI 829
Antwortzeit 55, 149, 161, 190, 322,
769
Antwortzeit, mittlere 175
Antwortzeitverteilung 181
859
2177.book Seite 860 Montag, 10. Juni 2013 11:30 11
Index
Anwendungsanalyse 149, 821
Anwendungsmonitor 821
Anwendungspuffer
objektorientierte 292, 549, 580, 589
Anwendungsserver 씮 Applikationsserver
Anzeigeattribut 602
APO-Server 272
Appliance 700
Application Link Enabling 829
Application Service Providing (ASP)
25
Application Support Layer 787
Applikationsanalyse 149, 821
Applikationsebene 38
Applikationsfehler 308
Applikationsoptimierung 20
Applikationsserver 41, 76, 159, 201,
829
Applikationstuning 31, 63
Archiver Stuck 110, 169
Array Fetch 199
ATP-Logik 403, 421
ATP-Server 320, 421, 422, 424
ATP-Service 274
Attribut 595, 608
Anzeigeattribut 602
Navigationsattribut 602
Attributindex 44
Attributvektor 705, 714
Ausführungsplan 496, 741, 769, 829
DB2 für IBM i 800
IBM DB2 für z/OS 805
Microsoft SQL Server 816
Oracle 809
Auslagerungsspeicher 81, 118, 282,
295, 297, 299, 313, 829
Automatic Workload Repository 101
Autoreaktionsmethode 144
Auxiliary Storage Pool 295
B
B*-Baum 624
Backup 49, 54
Backup-Index-Server 679
Bandbreite 711
BAPI 829
Batch-Input 240, 829
860
Benchmark 253, 256, 839
Benutzer
aktiver 164
gelegentlicher 164
Power-Benutzer 165
Sachbearbeiter 165
Benutzeranbindung 37
Benutzerkontext 158, 284, 358, 829
Benutzerliste 820
Benutzermodus
Experte 153
Service Engineer 154
Benutzeroberfläche, grafische 832
Benutzerprofil 165, 180
Benutzerübersicht 342
Beschränkungen des Betriebssystems 297
Bestand 595
Betriebsart 329, 820, 830
Betriebssystem 313
Auslagerungsspeicher 305
Grenze 309
Kommando 820
Konfigurationsparameter 306
Paging 284
Parameter 87
Betriebssystem (Operating System)
281, 835
Betriebssystemdatei 819
Betriebssystemmonitor 66, 77, 86,
196, 260, 374, 795, 821
Betriebssystemmonitor, Prozessübersicht 126
Betriebssystemprozess 83
Betriebszeit 53
Bewegungsdaten 562
BEx Analyzer 380, 598
BEx Web Analyzer 598
bgRFC-Monitor 357
Big Data 24, 699
binäre Suche 714, 770
Blade-Server 700
Blatt 624
Block 92
Browser 830
Bruttozeitoptimierung 218
BSP-Anwendungen, Laufzeitanalyse
210, 397
BSP-Entwicklung 391
2177.book Seite 861 Montag, 10. Juni 2013 11:30 11
Index
Buffer Get 489
Buffer Pool 787
Buffer Trace 194
Business Application Programming
Interface 씮 BAPI
Business Connector 830
Business Objects 830
Business Process 47
Business Server Page (BSP) 39, 367,
377, 388
BW Administrator Workbench 612,
625, 628, 643, 689, 819
BW Query Monitor 819
BW Query 씮 BW-Anfrage
BWA 씮 SAP NetWeaver BW Accelerator
BW-Aggregatpflege 819
BWA-Index 689
pflegen 691
prüfen und abschalten 690
BW-Anfrage 594, 597
Analyse 613
Hintergrunddruck 635
BW-Prüfreport 819
BW-Statistik 615, 691
BW-Workload-Statistik 613
C
CA Wily Introscope 66, 478, 483, 847
Enterprise Manager 479
WebView 479
Workstation 479
Cache 씮 Puffer
Calc Engine 721
CALL-Befehl 284
Catalog Cache 772, 787
CBO 500
CCMS 30, 35, 65, 135, 508, 830
Alert 139
Monitoring 135
Monitoring-Baum 141
System Component Repository (SCR)
179
Überwachungsmonitor 137, 348
Change 566, 575
Change and Transport Organizing
830
Change Log 758
Change Run 647, 693
charakterisierender Parameter 151
Checkpoint 93
Check-Set 664
Class Statistic 482
Classloader 434
CLEAR-Anweisung 222
Client-Destination-Statistiksatz 352
Client-Server-Architektur 38
Client-Server-Architektur, Skalierbarkeit 46
Client-Statistiksatz 351
Cloud-Anwendung 698
Cluster-Coding 707
Clustered Index 816
CO 830
Code Cache 440
Code Completion 741
Code Inspector 189, 225, 235, 556,
740
Code Push-down 695, 718
Column Store 씮 spaltenorientierte
Datenspeicherung
Common Programming Interface
Communication 830
Computer Center Management System
씮 CCMS
COM-Routine 씮 Database Procedure
Concurrent-Mark-Sweep-Kollektor
437
Connection View 446
Container 90
Control 367
CO-PA Accelerator 698
Core 80, 783
Cost-Based Optimizer (CBO) 500
CPI-C 830
CPU 46, 80, 830
Auslastung 79, 83, 108, 261
Bedarf 256, 363
Belastung 170
Engpass 81, 85, 108, 169
Ressourcen 321
Sizing 724
Trace 208
Wartezeit 323
Zeit 161, 163, 166, 172, 193, 322
CTO 830
Cursor 200
861
2177.book Seite 862 Montag, 10. Juni 2013 11:30 11
Index
Cursor Cache 282
Cursor-ID 200
Customer Interaction Center 221
Customizing 830
Customizing Organizer 830
Customizing-Daten 562
D
Data Buffer 92
Data Cache 92, 772, 814
Data Control Language (Datenkontrollsprache) 831
Data Definition Language (Datendefinitionssprache) 831
Data Manipulation Language (Datenmanipulationssprache) 831
Data Mining 594, 700
Data Warehouse 595
Database Analyzer 778
Database Global Memory 787
Database Heap 787
Database Lock 씮 Datenbanksperre
Database Procedure 160
Database Procedure Calls 160
Database Procedure Subrecord 160
Database-Procedure-Zeit 160
DataStore-Objekt 595, 608
HANA-optimiertes 756, 758
indizieren 627
Dateioperation 464
Datenarchivierung 830
Datenbank 76, 830
Administration 111
Analyse 75, 89, 768
Fehlerprotokolldatei 107, 792
Last 525
Puffer 769
Stillstand 109
Tasks 773
Datenbankadministrator-Cockpit 씮
DBA-Cockpit
Datenbankanfrage, Parallelisierung
702
Datenbankebene 40
Datenbankindex, fehlender 109
Datenbankinstanz 76, 303, 830
Datenbankkonsolidierung 267, 271
Datenbanklast 761
862
Datenbankmonitor 66, 90, 120, 408,
767
Datenbankobjekt, fehlendes 819
Datenbankoperation 199
Datenbankoptimierer 108, 496, 499,
517, 741, 829, 831
Datenbankoptimierer, kostenbasierter
(CBO) 108
Datenbankperformance, Problem 171
Datenbankperformancemonitor 91,
821
Datenbankprozess 83, 736
Datenbankprozessmonitor 97, 126,
196, 475, 483, 773, 783, 797, 804,
815
Datenbankprozessor 107
Datenbankpuffer 92, 702
Datenbankserver 40, 76, 831
Datenbankservice 363
Datenbanksperre 105, 404, 406, 408,
475, 791, 831
exklusive 106
IBM DB2 für z/OS 805
SAP MaxDB 777
SQL Server 815
Datenbanksperrmonitor 126, 408
Datenbanksystem 76, 404, 830
Datenbanksystem, paralleles 77
Datenbanktabelle 593
Datenbanktuning 30
Datenbank-View 535, 696, 771, 780,
786, 794, 801, 807, 811, 817
Datenbankzeit 159, 166, 171, 172
Datenbankzeit, lange 127
Datenbankzugriff 190
Datenbankzugriff, voll qualifizierter
199
Datenfile 90
Datenhaltung
dezentrale 679
zentrale 679
Datenlokalität 712
Datenmenge, übertragene 370
Datenmodellierung, SAP HANA 716,
721
Datenpaket 646
Datenpuffer 94, 772, 787, 803, 814
Daten-Volume 777
DB2 씮 IBM DB2
2177.book Seite 863 Montag, 10. Juni 2013 11:30 11
Index
DBA 831
DBA-Cockpit 91, 126, 408, 505, 507,
725, 767, 772, 796
DBA-Planungskalender 507
DBA-Protokoll 819
DCL 831
DDL 831
Deadlock 411, 831
Debuggen 219
Debugger 441
Default Data Cache 781
Dekomposition 662
Dekomposition, vertikale 662
DELETE-Anweisung 222
Deltaindex 673, 676, 692, 708, 746,
749
aktivieren 677
integrieren 678
demilitarisierte Zone (DMZ) 41, 276
Denkzeit 322
Deoptimierung 441
Dequeue-Baustein 406
Destination 340, 344
Development Workbench 35
DIAG-Protokoll 831
Dialog Step 씮 Transaktionsschritt
Dialogantwortzeit 336
Dialogbenutzer 240, 329
Dialoglast 168
Dialogservice 274, 319, 320
Dialog-Workprozess 158, 331, 358,
831
Dictionary 714
Dictionary-Coding 705
Differenz-Coding 708
Dimensions-ID (DIMID) 599
Dimensionstabelle 599
Dimensionstabelle, Index 625
Direct Read 199, 770, 779, 785, 800,
806
direktes Lesen 씮 Direct Read
Disk Read 489
disp+work 274
Dispatcher 319, 831
Dispatcher-Prozess 273
Dispatcher-Queue 132, 157
Dispatcher-Wartezeit 157, 166, 172,
323
Dispatching 274
Distributed Statistic Record 씮
Statistiksatz, verteilter
Distributed Statistics Records (DSR)
177
DML 831
Dokumentation 63
Dominator Tree 472
Drill-down 596
DSWP 232
Dual-Stack-Installation 272
Dump 305
Durchsatz 163, 174, 403
dynamische Benutzerverteilung 277,
324
Dynamischer Statement Cache 803
Dynpro 831
E
E2E-Trace 씮 End-to-End-Trace
EarlyWatch Alert 씮 SAP EarlyWatch
Alert
Easy Web Transaction 392, 832
eCATT 831
Eclipse 831
Eden 433, 436
EDI 831
EDM DSC Cache 804
EDM-Pool 804
E-Faktentabelle 630
Einführungsleitfaden 632
Einheitendimension 605
Einkernprozessor 80
Einzelsatz, statistischer 150, 189, 234
Einzelsatzpuffer 549, 551
Einzelsatzstatistik 66, 189, 343, 362,
371, 397, 613, 821
Einzelsatzstatistik, zentrale 179, 226
Einzeltransaktionsanalyse 215
Electronic Data Interchange 831
Embedded Search 654
End User Experience Monitoring 55,
387
End-to-End-Diagnostik 70
End-to-End-Laufzeitanalyse 229, 232,
235
SAP-GUI-Transaktion 231
End-to-End-Trace 214, 381, 476
End-to-End-Workload-Analyse 183
863
2177.book Seite 864 Montag, 10. Juni 2013 11:30 11
Index
Engpassanalyse 149, 323
Enqueue 404, 831
Enqueue-Baustein 406
Enqueue-Operation 194
Enqueue-Server 318
Enqueue-Service 274, 318, 320
Enqueue-Tabelle 412
Enqueue-Trace 194, 207
Enterprise File Search (EFS) 654
Enterprise JavaBeans 40
Entität 832
Entwicklerprotokoll 310
Entwickler-Trace 821
Ereignisdaten 700
erweiterter Speicherbereich (EM) 308
Eskalationsverfahren 57
ETL-Prozess 599
Event 389
EWT 832
Exclusive Lockwait 105, 113, 133,
147, 408, 427, 805, 815
Execution Plan 씮 Ausführungsplan
Executive Information System (EIS)
593
Expertenmonitor 65
Export-Import-Puffer 423, 550, 581
Export-Import-SHM-Puffer 307, 550,
581
Extended Global (EG) Memory 291
Extended Memory 309, 832
Extensible Markup Language 841
Extrahieren 599
F
Failover Recovery 270
Failover-Lösung 320
Faktentabelle 599, 646
Index 625
komprimieren 629, 692
SAP HANA 756
FDDI 832
FE Net Time 370
Fehlerbehebung 56
Fehlercode
DBIF_RSQL_NO_MEMORY 312
EXPORT_NO_SHARED_MEMORY
307
864
Fehlercode (Forts.)
EXSORT_NOT_ENOUGH_MEMORY
312
PXA_NO_SHARED_MEMORY 306
SET_PARAMETER_MEMORY_OVERFLOW 307
STORAGE_PARAMETERS_WRONG_
SET 306, 309, 312
SYSTEM_NO_MORE_PAGING 293
SYSTEM_NO_ROLL 307
TSV_TNEW_PAGE_ALLOC_FAILED
306
TSV_TNEW_PG_CREATE_FAILED
293
Festplatte 711
Festplatte, Zugriff 777, 816
Fetch-Operation 199, 531, 566
F-Faktentabelle 630
Fiber Distributed Data Interchange
832
File System Cache 85
File- und Network-I/O-Analysis 464
Files-Statistik 464
Firewall 832
Flow 595
Fluss 595
FOR ALL ENTRIES 531, 534
Fragmentierung 576, 585
FREE-Anweisung 222
Frontend, Trace 229
Frontend-Zeit 370
Full Table Scan 497, 503, 512, 623,
770
Function Builder 335
funktionaler Trace 씮 Einzelsatzstatistik, zentrale
Funktionsbaustein 334
G
Ganzzahlidentifikator 705
Garbage Collection (GC) 433, 482,
832, 838, 853
Compacting 435
GC Analysis 466, 482
JVM 433
Kollektor 436
Mark and Copy 436
Mark and Sweep 435
2177.book Seite 865 Montag, 10. Juni 2013 11:30 11
Index
Garbage Collection (GC) (Forts.)
partielle 434
Protokoll 439
vollständige 435
Gateway-Monitor 342
Gateway-Service 274
Generation 433
Generierungszeit 159
Geschäftsprozess 47
Global Cache Hit Ratio 804
Globally Unique Identifier (GUID)
832
GoingLive Check 씮 SAP GoingLive
Check
GoingLive Functional Upgrade Service
265
GUI 832
GUI Control 368
GUID 832
GUI-Kommunikation 371
GUI-Zeit 160, 193, 369, 373
H
HANA 씮 SAP HANA
Hardware 46
Analyse 75, 77, 79
Engpass 82, 169
Kapazität 170
Konsolidierung 267, 269
Landschaft 319
Sizing 239, 241, 425
Tuning 30
Hardwarepartner 241, 245
Harmonisierung 268
Hash-Tabelle 223
Hauptspeicher 46, 281, 695, 702,
711, 745
Auslastung 81
Bedarf 260, 301
Engpass 81, 82, 85, 169
Profil 173
Pufferung 415
Sizing 723
Hauptspeicher, virtueller 313
Hauptspeicherbedarf 190
Hauptspeicherkonfigurationsmonitor
260
Heap 284
Heap Dump 472
Heap Dump Analysis 482
Heap Memory 832
Hierarchie 605, 608
High Availability 319, 320
High Water Mark 117
Hint 517
Hintergrundjob, Scheduling-Monitor
819
Hintergrundlast 168
Hintergrundprogramm 240, 410
Hintergrundservice 274, 320
Hintergrundverarbeitung 820, 832
Hitratio 93
Hochverfügbarkeit 319, 832
Hochverfügbarkeitscluster 270
Hotspot 103, 455, 713, 816
Hotspot Java Virtual Machine 436
HPROF-Datei 472
HTML 833
HTML Business Template 393
HTTP 833
HTTP-Aufruf 397
HTTP-Trace 206, 234, 380
HybridProvider 596
Hypertext Markup Language 833
Hypertext Transfer Protocol 833
I
I/O-Engpass 87, 104, 201
I/O-Operation 482
IAC 833
IBM DB2 788
für IBM i 795
für Linus, UNIX und Windows 788
für Linux, UNIX und Windows 787
für z/OS 803
IBM i 295, 796
ICM-Monitor 66, 135, 381, 394
IDES 833
IDoc 833
IMG 833
Implementation Guide 833
Index 638, 695, 718, 745
administrieren 504
anlegen 504
B*-Baum-Index 627
B*-Index 714
865
2177.book Seite 866 Montag, 10. Juni 2013 11:30 11
Index
Index (Forts.)
Bitmap-Index 624, 627
BWA-Index 689
effizienter 199
fehlender 109
Fragmentierung 509
Hauptspeicher 653
invertierter 713, 714
konkatenierter 713, 716, 745
logischer 660, 674
physischer 660, 674
Primärindex 109
Qualität 510
reorganisieren 509
teilen 674
TREX-Index 653
verwalten 504
Index Range Scan 498, 503
Index Scan 623
Index Unique Scan 497
Indexaktualisierung 682
Index-Server 658, 678, 720
Indizierung 621, 682
InfoCube 595, 599, 608, 639
HANA-Migration 819
HANA-optimierter 756
indizieren im BWA 687
Optimierung 620
Tabellen 606
transaktionaler 624
Übersicht 819
InfoObject 595
InfoProvider 595, 608, 631
InfoSet 596
In-Memory-Anwendung 698
In-Memory-Computing 653, 695, 702
In-Memory-Datenbank 711
Insert-Only-Ansatz 718
Installation
verteilte 319
zentrale 319
Instanz 씮 SAP-Instanz
Integer ID 705
Integrität 49
Inter Process Communication 834
Interaktionsmodell 368
Internal Document 833
International Demo- and Education
System 833
866
Internet Application Component 833
Internet Communication Framework
(ICF) 389, 392
Internet Communication Manager
(ICM) 134, 274, 378, 380, 388,
389, 657
Internet Communication Manager,
Monitor 820
Internet der Dinge 699
Internet Pricing and Configuration
(IPC) 273, 283, 360, 834
Internet Transaction Server (ITS) 273,
283, 326, 377, 392, 834
externer 393
integrierter 292, 392, 820
Performanceanalyse 206, 394
Internetanbindung 367
Interpreter 440
Intranet 834
Introscope 씮 CA Wily Introscope
Introscope Trace 481
Introscope-Statistik 178
Invalidierung 116, 559
IPC 834
iSeries 295
ITS 씮 Internet Transaction Server (ITS)
ITS-Monitor 66
ITS-Status-Monitor 393
iView 38
J
J2EE Engine 씮 SAP NetWeaver
Application Server Java
Java 834
Java Development Kit (JDK) 432
Java Dictionary 549, 586
Java Heap 433, 439, 472, 483
Java Runtime 445
Java Server Page 40, 367, 378
Java Servlet 40, 367
Java Virtual Machine (JVM) 361, 432,
482, 834, 840
Speicherbereiche 433
Workprozesse 442
Java-Applikationsinstanz 76, 277
Java-Bytecode 440
JavaScript 720
Java-Statistik 177
2177.book Seite 867 Montag, 10. Juni 2013 11:30 11
Index
Java-Trace 66
Java-Workload-Monitor 183
JIT-Compiler 432, 440, 456
Jobanalyse 820
Jobübersicht 646
Join 608, 623
Join Engine 721
K
Karenz 558, 567
Katalogpuffer 586
Kennzahl 150, 595
Key Performance Indicator (KPI) 137
Knowledge Management (KM) 653
Kommandomonitor 775
Kompilat 440
Komprimierbarkeit 717
Komprimierung 652, 662, 702, 705
Cluster-Coding 707
Präfix-Coding 707
Run-length-Coding 708
Sparse-Coding 707
Konditionstabelle 563, 580
Konsolidierungsstrategie 273
Kontextwechsel 80, 284, 834
Kopplung
Application Link Enabling (ALE) 339
harte 339
weiche 339
L
Laden 599
Ladezeit 159
LAN 835
LAN-Check 87
Landschaftsreorganisation 673, 675
Landschaftsreplikation 722
Large IO Pool 782
Last 163, 174
ausgehende 348
eingehende 348
externe Systeme 180
Lastprofil 151, 479
Lastverteilung 151, 170, 317
ABAP 318
falsche 82, 129, 171
Lastverteilungskonzept, neues 358
Latenzzeit 380, 465, 711
Laufzeit 455
Analyse 150, 194, 208, 478
konstante 224
logarithmisch ansteigende 224
Leaf 624
Lesen
satzweises 503
sequenzielles 503, 770, 779, 785,
792, 793, 800, 801, 805, 806,
810, 816, 817
Lesezugriff 422
logischer 93
physischer 93
Linearität 248
Line-Item-Dimension 609, 757
Linux 295
liveCache 씮 SAP liveCache
Local Area Network (LAN) 45, 835
Local Memory 282
Lock Handler 404
Lock List 787
Lock-Eskalation 777
Log-Bereich 109, 778
Logical Unit of Work (LUW) 355, 835
Logistic Information System (LIS)
335, 593
Logon-Gruppe 씮 Anmeldegruppe
Loop, geschachtelter 223
Low Speed Connection 376
LRU 835
M
Mandant 835
Mark-and-Copy-Kollektor 436
Maschinen-Code 440
Master-Index-Server 673, 678
Master-Service 754
Mehrkernprozessor 80
Mehrsprachigkeit 608
Memory Analyzer 471, 483
Memory Inspector 218, 220
Memory Leak 471, 474, 482, 483
Memory Management 835
IBM i 295
Linux 295
Memory Pipe 135, 392
Mengengerüst 244
867
2177.book Seite 868 Montag, 10. Juni 2013 11:30 11
Index
Merge 676, 709, 749
Auto-Merge 750
Critical-Merge 750
Hard-Merge 750
Smart-Merge 750
Merkmal 595, 602, 608
Message-Server 239, 274, 275, 363
Metadaten 92
Method Parameter Trace 482
Methode 440, 482
Methode, Speicherbedarf 451
Microsoft SQL Server 494
Microsoft Windows 86, 293, 324
Migration 267
Missing Index 505
Mobile Client 38
Model View Controller (MVC) 388
Modularisierungseinheit 208, 218
Modus 284, 835
externer 284
interner 285
PRIV-Modus 288, 305
Modusliste (Mode List) 304
Monitoring 47, 56
Monitoring, zentrales 51
Monitoring-Agent 143, 227
Monitoring-Baum 141
Monitoring-System, zentrales 179
Mooresches Gesetz 835
MultiProvider 596, 597, 608
Multi-Threaded-CPU 80
MVC 388
N
Name-Server 658, 720
Nametab-Puffer 550
Navigationsattribut 602, 608
Nested Loop Join 536, 623, 786
Net Time 370
Network Alert Monitor 821
Network Monitor 821
Network-I/O- und File-I/O-Trace 482
Netzplangrafik 819
Netzwerk 87, 201, 322
Operation 464
Problem 201
Tuning 30
Übertragungszeit 386
868
Netzwerk (Forts.)
Verbindung 464
Nummernkreis 414
Intervall 414
Nummernkreisstand 419
Objekt 414
Puffer 422
Pufferung 414, 415, 419, 820
Pufferungsmodus 421
O
Object Linking and Embedding (OLE)
835
OLAP 257, 272, 594, 835
OLAP Engine 721
OLAP-Cache 583, 609
Konfiguration 632, 819
Monitor 819
überwachen 630
OLAP-Cache-Monitor 633, 635
OLAP-Prozessor 609
Old Generation 434, 436, 438
OLE 835
OLTP 257, 272, 594, 835
Online Analytical Processing 씮 OLAP
Online Transaction Processing 씮
OLTP
Open Object 814
OPEN-Operation 199
Open-SQL-Monitor 476
Optimierer 씮 Datenbankoptimierer
Optimierung, technische 20
Optimierungskonzept 47, 51
Optimizer 씮 Datenbankoptimierer
Oracle 94, 809
Oracle Wait Event 99
Outsourcing 25
P
Package Cache 787
Page-in 829
Page-out 829
Pages 92
Paging 835
Paging-Datei 297, 313
Paging-Datei 씮 Auslagerungsspeicher
Paging-Rate 81, 85, 795
2177.book Seite 869 Montag, 10. Juni 2013 11:30 11
Index
PAI 835
Paketdimension 605
Parallelisierung 702, 712, 753
Parameter, charakterisierender 151
Parameteränderung 87
Parameterpflege 381
Parsen 497
Partitionierung 332, 662, 712, 754
bereichsweise 713
horizontale 712
umlaufende 713
vertikale 712
PASE-Laufzeitumgebung 295
PBO 836
Performance 48, 836
Forum 74
Management 33
Messung 368
Performance Hotspot Analysis 455
Performance Hotspot Trace 482
Performanceindikator 136
Performancemanagement, proaktives
21
Performancemenü 821
Performanceoptimierung, kontinuierliche 58
Performanceproblem
allgemeines 165
dauerhaftes 167
spezielles 165, 173
temporäres 167
Performance-Trace 194, 195, 372,
618
Permanent Generation 434, 439
Pflege-View DBDIFFVIEW 506
Pflichteingabefeld 538
physischer Hauptspeicher (RAM) 281,
297, 313
Pivotieren 596
Planungsanwendung 594
Plug-in 37
Pool-Größe 686
Pop-up 836
Präfix-Coding 707
Präprozessor 659, 673, 720
Kapazität 686
konfigurieren 683
Modi 685
Präsentationsebene 38
Präsentationsserver 41
Analyse 381
Trace 383
PREPARE 200
Prepared Statement 804
Pre-parsed Template 393
Primärindex 495, 505, 770
Prioritätsklasse 358
Private Mode 288
PRIV-Modus 128, 289
Procedure Cache 814
Process After Input 835
Process Before Output 836
Processing-Zeit 161, 163, 166
Profil bearbeiten 819
Profilparameter 305
abap/atrapath 211
abap/atrasizequota 211
abap/heap_area_dia 287, 291, 309,
311
abap/heap_area_nondia 287, 291,
309, 311
abap/heap_area_total 287, 301, 309
abap/heaplimit 173, 287
dbs/io_buf_size 200
Einstellung 310
em/address_space_MB 294
em/blocksize_KB 286
em/initial_size_MB 118, 128, 286,
303, 309
em/max_size_MB 294
Pflege 820
PHYS_MEMSIZE 118, 294, 303
rdisp/atp_server 320, 424
rdisp/bufrefmode 558
rdisp/bufreftime 558
rdisp/enqname 320
rdisp/max_wprun_time 326
rdisp/mshost 320
rdisp/PG_MAXFS 293
rdisp/PG_SHM 293
rdisp/ROLL_MAXFS 286, 309
rdisp/ROLL_SHM 118, 286
rdisp/vb_dispatching 333
rdisp/vbstart 331
rsdb/max_blocking_faktor 533
rsdb/obj/buffersize 425
rsdb/obj/max_objects 425
rstr/file 196
869
2177.book Seite 870 Montag, 10. Juni 2013 11:30 11
Index
Profilparameter (Forts.)
rstr/max_diskspace 196
stat/dbprocrec 160
ztta/roll_area 286, 291
ztta/roll_extension 287, 291, 305,
309
ztta/roll_first 287, 289, 291
Program Counter 80
Program Global Area (PGA) 94
Programm
Abbruch 306
Fehler 305
HTTPWatch 385
PERFMON 386
RSCOLL00 156
SAP_COLLECTOR_FOR_PERFORMANCE 156
Saposcol 79
saposcol 79
Programmpuffer 306, 550
Promotion 434
Prozess
beendeter 128
externer 85
haltender 128
Prozess-ID 126
Prozesskette 599
Prozessor 80, 266, 834
Prozessor-Thread 364
Prüfgruppe 425
PTF-Paket 799
Puffer 44, 92, 549
Arten 549
Attributindex 44
Betriebssystempuffer 44
Datenbankpuffer 44
datenmodellorientierter 44
Datenpuffer 92
Einstellung 116, 542
Einzelsatzpuffer 554
Katalogpuffer 787
Kommunikationspuffer 787
Management 554
Metadatenpuffer 782
objektorientierter Anwendungspuffer 44
Package-Puffer 787
Prozesspuffer 782
Pufferhierarchie 44
870
Puffer (Forts.)
Qualität 93, 112
Speicher-Subsystem 44
Status 567
Synchronisation 556, 588, 819
Synchronisationsmonitor 579
Tabellenpuffer 44, 554, 587
TABL 554
TABLP 554
Typen 44
Zugriff 554
Puffer-Trace 194, 204
Pufferung 씮 SAP-Pufferung
Python-Trace 671
Q
quadratische Abhängigkeit 224
Qualitätsanalyse 225
Query, Parallelisierung 662
Queue-Server 658
Queue-Server konfigurieren 673, 682
Quick Sizer 242, 313
Quick-Sizer-Projekt 250
R
R/3 836
Radio-Frequency Identification (RFID)
700
RAID 836
RAM 씮 Hauptspeicher
Rangliste 656
RBO 499
RBO 씮 Rule-Based Optimizer (RBO)
RDBMS 836
Read Random Hit Ratio 803
READ TABLE 223
READ TABLE ... WITH KEY ... 222
Reaktionszeit 56
Rechner 76, 126
Rechnerprofil 171
Recoverability 49
Recovery 54, 270
Recursive Call 96
Redo-Log-Datei 169
REFRESH-Anweisung 222
Region, generische 553
Reisepass 177, 227, 839
2177.book Seite 871 Montag, 10. Juni 2013 11:30 11
Index
Relational Database Management
System 836
relationale Datenbank 40
Remote Function Call (RFC) 37, 241,
358, 836
ABAP-Coding 340
Ablauf 341
asynchroner (aRFC) 327, 340, 354,
820
Grundlagen 338
Hintergrund-RFC (bgRFC) 340, 357
queued (qRFC) 340
RFC-Zeit 344
Statistiken 351
synchroner 340
transaktionaler (tRFC) 340, 355,
840
RemoteCube 631
Rendering-Zeit 386
REOPEN-Operation 199
Reorganisation 755
Replikation 679, 680, 722
Reporting 593
Reporting, Vorberechnung 635
Repository Browser 820
Repository-Infosystem 820
Request 566, 575
Ressourcenbedarf 241, 248, 847
Ressourcenmanagement 271
Ressourcenmonitor 776
RFC 씮 Remote Function Call (RFC)
RFC-Aufruf 194
RFC-Client-Profil 351
RFC-Trace 193, 194
RFC-Verbindung 344, 820
RFC-Verbindungen, überwachen 348
RFID 836
Roll Memory 씮 SAP Roll Memory
Roll-in 158, 286, 834
Roll-out 158, 286, 834
Roll-Puffer 303
Roll-up 596
Roll-Wartezeit 160, 193, 343, 370
Roundtrip 369, 465
Row Cache 95
Row Store 721, 735
Row-ID 495
Rule-Based Optimizer (RBO) 501
Run-length-Coding 708
S
SAP Advanced Planning and Optimization (SAP APO) 35
SAP Application Performance Standard
254
SAP Business ByDesign 699
SAP Business Suite 34
Architektur 34
Einführung 267
SAP Business Suite, SAP HANA 698
SAP BusinessObjects 598
SAP BusinessObjects Analysis 598
SAP BusinessObjects Business Intelligence-Plattform 598
SAP BusinessObjects Dashboards 598
SAP BusinessObjects Explorer 599,
690
SAP BusinessObjects Web Intelligence 598
SAP Client Plug-in 230, 235, 383, 385
SAP Crystal Reports 598
SAP Cursor Cache 200
SAP Customer Relationship Management (SAP CRM) 35, 834
SAP EarlyWatch Alert 25, 58, 69, 72,
258, 310
SAP Easy Access-Menü 376
SAP Enterprise Resource Planning
(ERP) 35
SAP Extended Global (EG) Memory
292, 393
SAP Extended Memory 117, 284,
286, 289, 292, 303, 313
SAP GoingLive Check 25, 242, 245,
258, 310
SAP GoingLive Functional Upgrade
Check 259
SAP GoingLive Migration Check 259
SAP GUI 367, 378, 836
Controls 367, 368
for HTML 37, 378
for Java Environment 37, 38, 378
for Windows 37, 38, 378
SAP HANA 526, 695, 836
Administration 758
Cloud-Anwendung 698
Datenbankplattform 697
Hauptspeicherbereich 728
871
2177.book Seite 872 Montag, 10. Juni 2013 11:30 11
Index
SAP HANA (Forts.)
Indizierung 713
Komprimierung 705
Sizing 722
Skalierbarkeit 526
Skalierung 47
SAP HANA Studio 725
SAP Heap Memory 117, 284, 287,
309, 313, 361
SAP Host Agent 797
SAP Internet Transaction Server
(SAP ITS) 39, 834
SAP Java Virtual Machine 432
SAP Java Virtual Machine Profiler
444, 472, 482
SAP List Viewer 213
SAP liveCache 36, 151, 272, 274, 768,
835
SAP Logical Unit of Work (SAP LUW)
406
SAP Management Console 441, 482
SAP MaxDB 494, 772
Ausführungsplan 779
Kommandomonitor 775
Ressourcenmonitor 776
SAP NetWeaver 35
Release 7.30 32
Release 7.40 556
SAP NetWeaver Administrator 65, 67
SQL-Trace 475
SAP NetWeaver Application Server
39, 377
SAP NetWeaver Application Server
ABAP 76, 277
SAP NetWeaver Application Server
Java 35, 76, 277, 431
Serverknoten 445
SQL-Trace 475
SAP NetWeaver Business Warehouse
152, 380, 583, 593, 836
Administrationswerkzeuge 611
Datenselektion 628
Frontend 598
hohe Datenbankzeiten 617
Indizierung 621
Lastprofile 617
Optimierung 619
Performanceoptimierung 608
SAP HANA 697
872
SAP NetWeaver BW 36
SAP NetWeaver BW Accelerator 608,
611, 655, 661, 696, 837
Deltaindex 692
Index anlegen 689
InfoCubes indizieren 687
Monitor 819
Sizing 662
SAP NetWeaver BW Administrator
Workbench 611
SAP NetWeaver Cloud 698
SAP NetWeaver Enterprise Search 36,
654, 837
SAP NetWeaver Portal 36, 38
SAP NetWeaver Process Integration
36, 830
SAP Paging Memory 291, 292, 585,
835
SAP Product Lifecycle Management
(SAP PLM) 35
SAP R/3 23
SAP Roll Memory 117, 284, 309, 313
SAP Service Marketplace 313
SAP Service Marketplace, Service 71
SAP Solution Manager 72, 142, 152,
178, 214, 215, 229, 232, 235, 387,
476, 768
Analyse 70
Performanceoptimierung 71
Service Level Management 58
Tracing 70
Überwachung 68
Workload-Analyse 70
SAP Standard Application Benchmark
239, 253
SAP Supplier Relationship Management (SAP SRM) 35
SAP Supply Chain Management (SAP
SCM) 35
SAP System Identifier 837
SAP Web Dispatcher 40, 239, 274,
276, 327
SAP-Anwendung, Architektur 34
SAP-Applikationsinstanz 씮 SAPInstanz
SAP-Basis 35
SAPCCMSR 227
SAPconnect 144
SAP-Einführungsleitfaden (IMG) 820
2177.book Seite 873 Montag, 10. Juni 2013 11:30 11
Index
SAP-Enqueue 405, 412, 421
SAP-Enqueue-Monitor 427
SAP-GUI-Transaktion
End-to-End-Laufzeitanalyse 231
SAP-Instanz 76, 154, 268, 302, 833
Pflege 819
Übersicht 820
SAP-Kernel 310
SAP-Komponente 34
SAP-Lösung 34
SAP-Lösungslandschaft 35
SAP-Paging 284
SAP-Parameter, Änderung 121
SAP-Performance-Trace 189
SAP-Puffer 115, 159, 302, 312
SAP-Puffer, Zugriff 194
SAP-Puffer-Trace 196
SAP-Pufferung 525, 549, 552
Art 551
einschalten 559
generische 552
vollständige 552
SAP-Roll-Bereich
globaler 285
lokaler 285
SAP-Roll-Datei 285
SAP-Roll-Puffer 285
SAProuter 837
SAPS 254, 837
SAP-Service 239, 319
SAP-Speicherbereich 301
SAP-Speicherkonfiguration 114, 127
SAP-Speicherkonfigurationsmonitor
66, 114
SAP-Speicherverwaltung 172
SAP-System 35, 77
SAP-Systemservice 837
SAP-System-Trace 821
SAP-Transaktion 405
SAP-Workprozess 41, 83, 105, 123,
303, 313, 773
Übersicht 123
Savepoint 93
Schaltfläche 837
Schattenprozess 97, 99
Schnittstellen 317
Schreib/Lese-(I/O-)Problem 86, 103
Schreib/Lese-(I/O-)Probleme 791
SD-Benchmark 253
Search Engine Service (SES) 654
Sekundärindex 494, 496, 504, 506
Ändern 511
Anlegen 511
SELECT
verschachteltes 530
Select
identischer 202
SELECT *-Klausel 531
Selektionsbildschirm 537
Selektivität 500, 502, 512
Semaphore 126
Sensordaten 700
Sequential Read 199
sequenzielles Lesen 씮 Lesen,
sequentielles
Serialisierung 127
Server 77, 837
Server, Konsolidierung 267, 270
Server-Destination-Statistiksatz 352
Service 318
Service Level Agreement 52
Service Level Management 51, 70, 73,
837
Service Level Reporting 52, 54, 57, 73
Service, Pflege 210, 394, 397
Session 361
Session Monitor 97
Shared Cursor Cache 95, 100
Shared Memory 282, 306, 361, 392,
422, 583, 787, 837
Shared Object 581
Gebietskonfiguration 584
Gebietsmonitor 584
Pufferung 550, 583
Shared Pool 94, 95
Shared SQL Area 100, 543
Shared SQL Cache 100
Sicherheit 49
SID 603, 837
SID-Tabelle 603
Simulationsanwendung 594
Single Level Storage 295
Single Point of Failure (SPOF) 320
Sizing 239, 722
benutzerbasiertes 243
durchsatzbasiertes 244
initiales 242, 247
Sizing Plausibility Check 246
873
2177.book Seite 874 Montag, 10. Juni 2013 11:30 11
Index
Sizing (Forts.)
T-Shirt-Sizing 242
Sizing-Projekt durchführen 249
Sizing-Prozess 241
Skalierbarkeit 248, 754, 838
horizontale 46, 838
Programm 224
vertikale 46, 838
Skeleton 803
Slave-Index-Server 673, 678
Slave-Service 754
Slice & Dice 596
Snapshot 679
Socket 464
Socket-Statistik 464
Solution Monitoring 47, 68
Sonde 478
soziales Netzwerk 699
spaltenorientierte Datenspeicherung
652, 695, 701, 703, 721, 731
Sparse-Coding 707
Speicher
allokierter 119, 728
Belegung 287
Bereich 296, 312
fest allokierter (HEAP) 308
genutzter 728
globaler 282
Konfiguration 114, 281
lokaler 282, 835
physischer 120, 728
verfügbarer 300
Verwaltung 838
virtuell benötigter 300
virtueller 728, 840
Speicher, virtueller 282
Speicherabzug 220
Speicherkonfiguration 118
Speicherkonfigurationsmonitor 114,
304, 309, 427, 573, 582, 585, 632,
821
Speicherverwaltung 172
Speicherverwaltung, integrierte 433
Sperre 403, 462, 482
Datenbanksperre 404
SAP-Enqueue 404, 421
Shared-Sperren 424
Sperren mit Menge 320, 424, 425
Sperrkonflikt 408
874
Sperre (Forts.)
Sperrkonzept 404
Sperrobjekt 405
Tabellensperre 411
Überwachung 407
Wartesituation 403
Spool-Service 274, 320
SQL 839
Native SQL 519
Open SQL 519, 586
SQL Editor 741
SQL Plan Cache 739
SQL Query Engine 797
SQL Server 814
SQL Server, Primärindex 816
SQL-Anweisung 71, 95, 97, 99, 100,
194, 485, 494, 512, 514, 521, 741,
770, 775
dynamische 803
optimieren 485
teure 96, 102, 487, 791, 821
verschachtelte 530
SQL-Anweisungspuffer 782
SQL-Coding 530
SQL-Monitor, HANA-Migration 740
SQL-Programmierung
goldene Regeln 521, 704, 717, 760
performante 521
SQLScript 722
SQL-Statistik 100, 101, 475, 487, 489,
492, 520, 580, 739, 820
Analyse 103
DB2 790
DB2 für IBM i 797
IBM DB2 für z/OS 805
SAP MaxDB 775
SQL Server 816
SQL-Trace 66, 103, 191, 194, 195,
196, 202, 234, 483, 487, 488, 492,
522, 527, 580, 821
ST-A/PI 215
Stack Pointer 80
Stammdaten 562
Stammdatentabelle indizieren 626
Stammformerkennung 656
Star-Join-Ausführungsplan 622
Star-Schema 596, 707
Star-Schema, erweitertes 599
Statement Cache 814, 816
2177.book Seite 875 Montag, 10. Juni 2013 11:30 11
Index
Statement String 804
Statistik, abgeleitete 453
Statistiksatz 177, 190, 373, 839
Statistiksatz, verteilter 177, 227
Statistik-Server 755
statistischer Einzelsatz 150, 189, 234,
565
Stemming 656
Stock 595
Stop the World 435
Stored Procedure 696, 814, 839
Structured Query Language 839
SUBMIT-Befehl 284
Subrecord 160
Suite Accelerator 698
Support Package 839
Survivor 436
Swap 116, 559, 564
Swap Space 씮 Auslagerungsspeicher
Sybase 839
Sybase ASE 781
Ausführungsplan 785
Datenbankprozess 783
Datenpuffer 781
Engine 783
Synchronization Analysis 461
Synchronization Trace 482
System Global Area (SGA) 94
Systemkonsolidierung 268, 271
Systemlandschaft 267, 839
Systemlastanalyse, globale 179
Systemlastmonitor 씮 WorkloadMonitor
Systemlog 820
System-Monitoring 49
Systemnachricht, versenden 820
Systempuffer 550
Systemverfügbarkeit 320
T
Tabelle
Analyse 576, 819
ARFCSDATA 355
ARFCSSTATE 355
ATAB 543
Buffered Objects 587
D010* 543
D010S 543
Tabelle (Forts.)
D020* 543
DBDIFF 506
DBSTATC 507
DDLOG 557, 579, 584
DDNTF 543, 574
DDNTT 543, 574
gepufferte 568, 574
Hash-Tabelle 223
interne 218, 847
KAPOL 543, 568
Konditionstabelle 563
kundeneigene 571, 575
NRIV 408, 414, 420
NRIV_LOKAL 417
reorganisieren 509
RESB 63, 422, 509
SAP-eigene 571, 575
sortierte 223
SWNCMONI 156
TCURR 577
tRFC-Tabelle 356
VBBE 422
VBDATA 332
VBHDR 332, 574
VBMOD 332
Verbuchungstabelle 332, 336
Tabellengröße 575
Tabellenoperation 208
Tabellenpflege 506, 748
Tabellen-Pool
ATAB 580
KAPOL 580
Tabellenpuffer 44, 193, 549, 587
generischer 542
generischer (TABL) 549
partieller (TABLP) 549
Tabellenpufferung 551
ABAP-Server 564
Java 586
Tabellenstatistik 108, 501, 507, 819
Tabellenzugriffsstatistik 565, 569,
574, 821
Table Call Statistics 씮 Tabellenzugriffsstatistik
Tablespace 90
Tag 389
Task-Typ 155
TCP/IP 840
875
2177.book Seite 876 Montag, 10. Juni 2013 11:30 11
Index
TDC 840
temporäre sequenzielle Objekte 840
TemSe 840
Teraspace 295
Text-Dictionary 708
Textedit Control 368
Textsuche 653
Thread 79, 80, 482, 736, 773, 783
Hardware 80
Software 80
Thread-Dump 443
Thread-Monitor 739
Timebased Sampling 455
TMS 840
TO 840
Trace, Frontend 229
Trace-Level 231
Training 844
Transaktion 405, 840
AL11 819
AL12 819
Antwortzeit 189
BALE 819
DB01 92, 105, 408, 427
DB02 92, 501, 819
DB05 576, 819
DB12 92, 819
DB13 92, 819
DB13C 92
DB20 819
DB21 507
DB24 92
DB50 772
DBACOCKPIT 66, 91, 126, 408,
505, 507, 725, 768, 772, 819, 831
DSWP 183, 479
DWDM 368
kritische 55
LISTCUBE 613, 819
ME57 538
OS06 77
OS06N 77
OS07 77
OS07N 77
OSS1 819
RSA1 611, 612, 615, 625, 643, 689,
819
RSCUSTV14 819
876
Transaktion (Forts.)
RSDDBWAMON 664, 678, 692,
819
RSDDV 612, 664, 690, 819
RSMIGRHANADB 759, 819
RSODSO_SETTINGS 819
RSRCACHE 633
RSRT 612, 614, 618, 631, 664, 690,
819
RSRV 692, 819
RZ01 819
RZ02 819
RZ03 819
RZ04 819
RZ10 819
RZ11 381, 819
RZ12 819
RZ20 67, 137, 348, 362, 820
SAT 208
SBGRFCCONF 357
SBGRFCMON 357
SCII 225
SE11 504, 505, 529, 820
SE12 207, 820
SE14 505, 820
SE15 820
SE16 615, 820
SE24 225, 820
SE30 66, 224
SE37 225, 335
SE38 225, 311, 409, 539, 820
SE80 391, 541, 820
SEU 820
SHMA 584
SHMM 584
SICF 210, 394, 397
SITSMON 820
SITSPMON 66, 393
SM01 820
SM02 820
SM04 342, 820
SM12 413, 427, 820
SM13 111, 127, 332, 820
SM21 111, 127, 287, 820
SM24 583
SM30 506
SM36 820
SM37 646, 820
SM39 820
2177.book Seite 877 Montag, 10. Juni 2013 11:30 11
Index
Transaktion (Forts.)
SM49 820
SM50 66, 123, 219, 310, 319, 336,
342, 394, 409, 773, 820
SM51 78, 123, 132, 820
SM56 419, 820
SM58 355, 820
SM59 344, 346, 356, 820
SM63 820
SM65 820
SM66 124, 130, 319, 336, 342,
394, 408, 773, 820
SM69 820
SMGW 342
SMICM 66, 135, 381, 394, 820
SMLG 129, 319, 325, 820
SNRO 419
sperren 820
SPRO 425, 820
SQLM 740, 820
ST01 821
ST02 66, 114, 260, 300, 304, 307,
309, 427, 573, 582, 821
ST03 66, 152, 153, 179, 319, 343,
348, 362, 395, 613, 615, 616, 821
ST03G 66, 178, 179
ST03N 153, 262
ST04 92, 120, 821
ST05 194, 372, 487, 821
ST06 66, 77, 83, 86, 104, 121, 126,
260, 300, 374, 795, 821
ST06N 77
ST07 821
ST08 821
ST09 821
ST10 821
ST11 821
ST12 215, 217
ST14 821
ST22 305, 821
STAD 152, 179, 190, 343, 351, 362,
370, 371, 397, 821
STAT 565
STATTRACE 178, 179, 227
STMS 821
STUN 65, 821
SWLT 821
SXMB_MONI 821
Transaktion (Forts.)
TREXADMIN 126, 663, 666, 675,
680, 821
TU02 821
VA01 174, 191
Variante 541
VL01N 191
Transaktionscode 840
Transaktionsprofil 173
Transaktionsschritt 155, 157, 284
Transformieren 599
Transmission Control Protocol/
Internet Protocol 840
Transparenz 709
Transport 840
Transport Domain Controller 840
Transport Management System 840
Transport Organizer 840
Transportdomäne 840
Transport-Management-System 821
Tree 624
Tree Control 368
Trefferrate 93
TREX 36, 44, 274, 651, 696, 837, 840
Administration 821
Anfrageprozess 658
Anwendungen 653
Architektur 657
Grundlagen 652
Index 653
Komprimierung 705
Lastübersichtsdatei 669
Optimierung 673
Performanceanalyse 665
Python-Trace 671
reorganisieren 675
Replikation 679
RFC-Server 687
SAP NetWeaver BW Accelerator 661
Serverauslastung überwachen 665
Server-Übersicht 667
Sizing 660
Suchfunktionen 655
verteilte Installation 674
Werkzeuge 663, 719
T-Shirt-Sizing 242
Tune Summary 114
Tuning 545
Applikationstuning 59, 74
877
2177.book Seite 878 Montag, 10. Juni 2013 11:30 11
Index
Tuning (Forts.)
Programmoptimierung 60
technisches 59, 63
Tupel-Rekonstruktion 704
U
Überwachungskonzept 47, 51
Unicode 264, 283, 302
Unicode-Konvertierung 265
Uniform Resource Locator 840
UNIX 85, 324
UNIX, Standardimplementierung 295
Unternehmens-IMG 840
Untersatz 151
Upgrade 264
URL 840
User Call 96
User Kernel Thread (UKT) 773
User-Exit 247
V
Value-Per-Unit 595
Variante 213
Verbuchung 110, 330, 363
asynchrone 331
Auftrag 331
deaktivierte 127
Dispatching 333
lokale 336
Prioritätensteuerung 334
Service 319
synchrone 336
Tabelle 331
V1-Verbuchung 334
V2-Verbuchung 334
V3-Verbuchung 334
Verbuchungsart 334
Verbuchungszeit 336
Workprozess 331, 332
Verbuchungssatz 820
Verbuchungsservice 274
Verdrängung 씮 Swap
Verfügbarkeit 48, 181, 319
Verfügbarkeitsprüfung 421, 583
Verifikation 63
verteilter Statistiksatz 177
878
Virtual Machine Container (VMC)
273, 274, 317, 360, 840
Virtualisierung 269
virtueller Hautspeicher 313
virtueller Provider 596
virtueller Speicher 282
VMC 씮 Virtual Machine Container
(VMC)
VMC-Service 274
Vorverarbeitung verteilen 673, 683
W
WAN 841
WBO 841
Web Dynpro 841
Web Dynpro ABAP 39, 206, 210,
367, 377, 388, 394
Web Dynpro Java 367, 378
Web GUI 378
Web Reporting 598
Web Template, Vorberechnung 636
Webanwendung 379, 387
Webbrowser 830
Webservice 37, 241, 378
ABAP 394
Aufrufe überwachen 397
Webtransaktion 229
WHERE-Klausel 524
Wide Area Network (WAN) 46, 841
Windows 86, 293, 324
Workbench Organizer 841
Workgroup 325
Workload-Analyse 25, 59, 149, 150,
157, 165, 478, 483
Workload-Monitor 66, 151, 152, 153,
156, 173, 227, 262, 319, 343, 362,
395, 613, 821
BW-Systemlast 616
Java 183
Rolle 153
zentraler 178, 179
Workload-Übersicht 180
Workprozess 41, 127, 129, 273, 285,
321, 362, 841
ABAP-Trace 209
Anzahl erhöhen 364
Java Virtual Machine 442
Nicht-Dialog-Workprozess 290
2177.book Seite 879 Montag, 10. Juni 2013 11:30 11
Index
Workprozess-Monitor 336, 394
Workprozess-Typ 155
Workprozess-Übersicht 66, 98, 123,
196, 219, 310, 319, 342, 408, 409,
773, 820
Workprozess-Übersicht, globale 130,
820
World Wide Web 841
WP 씮 Workprozess
WWW 841
X
XML 841
XS-Server 720
Y
Young Generation 433, 438
Z
zeilenorientierte Datenspeicherung
702
Zeitabhängigkeit 603, 608
Zeitdimension 605
Zeitflusshierarchie 216
Zeitprofil 180
zentrale Einzelsatzstatistik 226
zentraler Überwachungsmonitor 67,
820
zentrales Monitoring-System 179
Zero Administration Memory Management 118, 293, 297, 313
Zugriffsplan 790
879
Herunterladen