Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Preface and Acknowledgments
17
Introduction
19
1 Performance Management of an SAP Solution
33
1.1 SAP Solution Architecture
34
1.1.1 SAP Solutions and SAP Components
34
1.1.2 Client/Server Architecture
38
1.2 Monitoring and Optimization Plan for an SAP Solution
47
1.2.1 Requirements of a Monitoring and Optimization Plan
47
1.2.2 Service-Level Management
51
1.2.3 Plan for Continuous Performance Optimization
57
1.2.4 Tools and Methods for the Monitoring and Optimization Plan
63
1.2.5 SAP Solution Manager
66
1.3 Summary
71
2 Analysis of Hardware, Database, and ABAP Application Server
75
2.1 Basic Terms
76
2.2 Hardware Monitoring
77
2.2.1 Analysis of a Hardware Bottleneck (CPU and Main Memory)
79
2.2.2 Identifying Read/Write (I/O) Problems
86
2.2.3 Further Analysis at the Operating System Level
87
2.3 Database Monitoring
89
2.3.1 The Performance Monitor in the DBA Cockpit
90
2.3.2 Analyzing the Database Buffer
91
2.3.3 Identifying Expensive SQL Statements
95
2.3.4 Identifying Read/Write (I/O) Problems
102
2.3.5 Other Database Checks
104
2.4 Analyzing SAP Memory Configuration
112
2.4.1 Analyzing SAP Buffers
113
2.4.2 Analyzing SAP Extended Memory, SAP Heap Memory, and SAP Roll Memory
115
2.4.3 Displaying Allocated Memory
117
2.4.4 Other Monitors for Detailed Analysis
119
2.5 Analyzing SAP Work Processes
121
2.5.1 Work Process Overview Fields
122
2.5.2 Analyzing Work Processes
125
2.5.3 System-Wide Work Process Overview
128
2.5.4 Monitoring the Dispatcher Queue
130
2.6 Analysis of the Internet Communication Manager (ICM)
133
2.7 Continuous Monitoring Using CCMS
134
2.7.1 Working with the Alert Monitor
135
2.7.2 Arranging Monitoring Tree
138
2.7.3 Arranging Automatic Alert Messaging
141
2.7.4 Graphical User Interface in SAP Solution Manager
142
2.8 Summary
143
3 Workload Analysis
145
3.1 Basics of Workload Analysis and Runtime Analysis
146
3.2 Workload Monitor
148
3.2.1 Working with the Workload Monitor
149
3.2.2 Technical Settings for the Workload Monitor
152
3.3 Workload Analysis
152
3.3.1 Transaction Step Cycle
153
3.3.2 Other Time Components
155
3.3.3 Interpreting Response Times
156
3.3.4 Activity, Throughput, and Load
159
3.4 Performing Workload Analyses
161
3.4.1 Analyzing General Performance Problems
162
3.4.2 Analyzing Specific Performance Problems
169
3.5 End-to-End Workload Analysis
172
3.5.1 Basics of End-to-End Workload Analysis
173
3.5.2 Central Workload Monitor
174
3.5.3 Working with the Central Workload Monitor
175
3.5.4 End-to-End Workload Monitor in SAP Solution Manager
178
3.6 Summary
179
4 Identifying Performance Problems in ABAP Programs
183
4.1 Single-Record Statistics
183
4.2 Performance Trace
188
4.2.1 Activating a Performance Trace
188
4.2.2 Evaluating an SQL Trace
190
4.2.3 Other Functions in the SQL Trace
195
4.2.4 Evaluating a Buffer Trace
197
4.2.5 Evaluating an RFC Trace
198
4.2.6 Evaluating an HTTP Trace
199
4.2.7 Evaluating an Enqueue Trace
199
4.3 Performance Analysis with ABAP Trace (Runtime Analysis)
201
4.3.1 Activating an ABAP Trace
201
4.3.2 Evaluating an ABAP Trace
203
4.3.3 Using Function Variations
205
4.3.4 Outlook: Single Transaction Analysis
207
4.3.5 Using Single Transaction Analysis
209
4.4 Analyzing Memory Usage with ABAP Debugger and in the Memory Inspector
210
4.5 Code Inspector
216
4.6 Central Single Statistics Records
218
4.7 End-to-End Runtime Analysis in SAP Solution Manager
220
4.7.1 Activating the Runtime Analysis
221
4.7.2 Displaying an End-to-End Runtime Analysis in SAP Solution Manager
223
4.8 Summary
225
5 Hardware Sizing and System and Load Distribution
229
5.1 Initial Hardware Sizing
231
5.1.1 Overview of the Project for Initial Sizing
232
5.1.2 Performing a Sizing Project in Detail
238
5.1.3 SAP Standard Application Benchmarks
242
5.2 Sizing to Deal with Increased Workload, Change of Release, or Migration
247
5.2.1 Overview of a Sizing Project in the Environment of an Installation that is Already Used
247
5.2.2 Performing Sizing in the Environment of Installations Used in Production
248
5.3 Planning the System Landscape
256
5.3.1 Distribution of SAP Application Instances
257
5.3.2 Hardware Consolidation
258
5.3.3 System and Database Consolidation
260
5.4 Services of the SAP NetWeaver Application Server
262
5.5 Summary
266
6 Memory Management
269
6.1 Memory Management Fundamentals
270
6.1.1 Basic Terms
270
6.1.2 SAP Roll Memory, SAP Extended Memory, and SAP Heap Memory
272
6.1.3 SAP Extended Shared Memory and SAP Paging Memory
279
6.2 Features of Operating Systems
280
6.2.1 Zero Administration Memory Management for Microsoft Windows
280
6.2.2 Memory Management for Linux
281
6.2.3 Memory Management for IBM i
282
6.3 Configuring and Monitoring Memory Areas
283
6.3.1 Monitoring Swap Space
285
6.3.2 Configuring and Monitoring SAP Memory Areas
287
6.3.3 Assistance with Troubleshooting
291
6.4 Summary
298
7 Load Distribution and Remote Function Calls
301
7.1 Load Distribution within the ABAP Instances
302
7.1.1 Distributing Message, Enqueue, and ATP Services
303
7.1.2 Distributing Dialog, Background, and Spool Work Processes
304
7.1.3 Distributing Users and Work Processes over CPU Resources
305
7.1.4 Dynamic User Distribution: Configuring Logon Groups
308
7.1.5 Limiting Resources per User
311
7.1.6 Operation Modes
312
7.1.7 Configuring Dynamic Work Processes
312
7.1.8 Update
313
7.2 Remote Function Calls (RFCs)
320
7.2.1 Fundamentals and Concepts
320
7.2.2 RFC Cycle
323
7.2.3 Configuring and Testing RFC Destinations
326
7.2.4 Monitoring Inbound and Outbound Loads
330
7.2.5 Configuring Parallel Processes with Asynchronous RFCs
335
7.2.6 Monitoring Data Transfer with Transactional RFCs
336
7.2.7 Background RFCs
338
7.3 New Load Distribution Concept
338
7.4 SAP Virtual Machine Container
341
7.5 Summary
343
8 SAP GUI and Internet Connection
347
8.1 SAP GUI
348
8.1.1 Interaction Model and Performance Measurement
348
8.1.2 Analyzing and Optimizing the Performance of GUI Communication
350
8.2 SAP Web Applications
356
8.2.1 Planning the Use of Web UI and the SAP GUI
357
8.2.2 HTTP Trace in the Internet Communication Manager
359
8.3 Analyses on the Presentation Server
360
8.3.1 Presentation Server Trace for Web Applications
362
8.3.2 Operating System Performance Tools
364
8.3.3 Continuously Monitoring Web Applications
365
8.4 Business Server Pages (BSPs), Web Dynpro ABAP, and Integrated ITS
367
8.4.1 Fundamentals of Business Server Pages and Web Dynpro ABAP
367
8.4.2 Fundamentals of the Integrated ITS
370
8.4.3 Fundamentals of ABAP Web Services
372
8.4.4 Performing the Performance Analysis of ABAP Web Services, BSPs, Web Dynpro ABAP, and ITS Applications
373
8.4.5 Monitoring Web Service Calls
376
8.5 Summary
376
9 Locks
381
9.1 Lock Concepts of Database System and SAP System
382
9.1.1 Database Locks
382
9.1.2 SAP Enqueues
383
9.2 Monitoring Locks
385
9.2.1 Database Locks
385
9.2.2 SAP Enqueues
389
9.3 Number Range Buffering
391
9.3.1 Fundamentals
391
9.3.2 Activating Number Range Buffering
396
9.3.3 Monitoring Number Range Buffering
397
9.4 Locking with Quantities and ATP Server
398
9.4.1 Fundamentals
399
9.4.2 Configuring the ATP Server
400
9.4.3 Monitoring the ATP Server
403
9.5 Summary
404
10 Optimizing Java Virtual Machine and Java Programs
407
10.1 Garbage Collection
409
10.1.1 Construction of the Java Heap
409
10.1.2 Garbage Collection Algorithms
411
10.1.3 Selection of Collectors
412
10.1.4 Parameterization of Java Heap Memory and Garbage Collection
413
10.1.5 Logging Garbage Collections
415
10.2 Just-in-Time Compiler
415
10.3 SAP Management Console
417
10.4 SAP Java Virtual Machine Profiler
419
10.4.1 Architecture
419
10.4.2 Establishing the Connection
421
10.4.3 Allocation Analysis
424
10.4.4 Performance HotSpot Analysis
430
10.4.5 Method Parameter Analysis
434
10.4.6 Synchronization Analysis
436
10.4.7 File and Network I/O Analysis
439
10.4.8 Garbage Collection Analysis
441
10.4.9 Class Statistics and Heap Dump
444
10.5 Memory Analyzer
446
10.5.1 Creating HPROF Files
447
10.5.2 Analysis of the Java Heap with the Memory Analyzer
447
10.6 Local Database Monitors and SQL Trace in SAP NetWeaver AS Java
450
10.7 Java Workload and Runtime Analysis with CA Wily Introscope
452
10.7.1 Functionality of Introscope
453
10.7.2 Working with WebView and the Wily Introscope Workstation
454
10.7.3 Introscope Trace
456
10.8 Summary
456
11 Optimizing SQL Statements
461
11.1 Identifying and Analyzing Expensive SQL Statements
462
11.1.1 Preliminary Analysis
463
11.1.2 Detailed Analysis
465
11.2 Optimizing SQL Statements through Secondary Indexes
469
11.2.1 Database Organization Fundamentals
470
11.2.2 Administration for Indexes and Table Access Statistics
480
11.2.3 Rules for Creating or Changing Secondary Indexes
487
11.3 Optimizing SQL Statements in the ABAP Program
495
11.3.1 Rules for Efficient SQL Programming
496
11.3.2 Example of Optimizing an SQL Statement in an ABAP Program
501
11.3.3 Presetting Field Values in Report Transactions
511
11.4 Expensive SQL Statements Due to Incorrect Buffer Settings and Administration Tools
515
11.5 Summary
517
12 SAP Buffering
521
12.1 Table Buffering Fundamentals
523
12.1.1 Buffering Types
523
12.1.2 Buffer Accessing
526
12.1.3 Buffer Synchronization
528
12.1.4 Activating Buffering
531
12.1.5 Which Tables Should Be Buffered?
533
12.2 Monitoring Table Buffering on the ABAP Server
535
12.2.1 Table Access Statistics
536
12.2.2 Analyzing Buffered Tables
540
12.2.3 Analyzing Tables That Are Currently Not Buffered
544
12.2.4 Detailed Table Analysis
546
12.2.5 Monitoring Buffer Synchronization (DDLOG Entries)
549
12.2.6 SQL Statistics and SQL Trace
550
12.3 Monitoring Object-Oriented Application Buffers
551
12.4 Monitoring Table Buffering on the SAP NetWeaver AS Java
556
12.5 Summary
558
13 Optimizing Queries in SAP NetWeaver Business Warehouse
561
13.1 Fundamentals of SAP NetWeaver Business Warehouse
562
13.1.1 Overview of the Most Important Concepts in SAP NetWeaver BW
563
13.1.2 InfoCube and Extended Star Schema
566
13.1.3 Overview of the Options for Performance Optimization
574
13.1.4 Overview of the SAP NetWeaver BW Administration Tools
578
13.2 Analysis of Expensive BW Queries
580
13.3 Technical Optimization Options in Detail
586
13.3.1 Managing Indexing
588
13.3.2 Settings on the Data Selection
594
13.3.3 Compressing the Fact Table
595
13.3.4 Monitoring the OLAP Cache
596
13.3.5 Pre-calculation of Reports
601
13.3.6 Aggregates
603
13.4 Summary
612
14 Optimizing Search Queries Using TREX
615
14.1 Fundamentals and Architecture of TREX Considering Performance Aspects
616
14.1.1 TREX Application Scenarios and Search Functions
617
14.1.2 Architecture of TREX
620
14.1.3 Specific Characteristics of the SAP NetWeaver BW Accelerator
624
14.1.4 Overview of TREX Administration Tools
626
14.2 Implementing the Performance Analysis on TREX
628
14.2.1 Monitoring the Utilization of the TREX Servers
628
14.2.2 Creating and Evaluating the Python Trace
634
14.2.3 Creating and Evaluating a Performance Trace
635
14.3 Technical Optimization Options in Detail
636
14.3.1 Dividing Indexes
637
14.3.2 Reorganizing TREX
638
14.3.3 Using Delta Indexes
639
14.3.4 Using Master and Slave Index Servers
642
14.3.5 Configuring Queue Servers
645
14.3.6 Distributing the Preprocessing (Configuring the Preprocessor)
648
14.3.7 Increase the Number of RFC Connections between the ABAP System and TREX
650
14.4 Indexing InfoCubes in the BWA
650
14.5 Summary
656
15 Optimizing Database Queries with SAP HANA
659
15.1 Application Scenarios for SAP HANA
661
15.2 Principles of Main Memory Data in SAP HANA and TREX
665
15.2.1 Column-Based Data Storage
667
15.2.2 Data Compression
668
15.2.3 Data Storage in Main Memory
672
15.2.4 Partitioning and Parallelization
675
15.2.5 Indexing
676
15.2.6 Data Modeling from a Performance View
679
15.3 Overview of the SAP HANA Architecture and Sizing
681
15.3.1 SAP HANA Architecture
681
15.3.2 Sizing
685
15.3.3 SAP HANA Administration Tools
687
15.4 Technical Optimization Options in Detail
690
15.4.1 Main Memory Analysis
690
15.4.2 Identifying and Analyzing Expensive SQL Statements
698
15.4.3 Creating Indexes (Inverted Index and Concatenated Index)
707
15.4.4 Administration of Delta Indexes
710
15.4.5 Load Distribution, Parallelization, and Partitioning
715
15.4.6 Optimization of InfoCubes and DataStore Objects for SAP HANA
717
15.5 Summary
721
Appendix
725
A Database Monitors
727
A.1 SAP MaxDB
732
A.2 Sybase ASE
740
A.3 IBM DB2 for Linux, UNIX, and Windows
746
A.4 IBM DB2 for IBM i
753
A.5 IBM DB2 for z/OS
760
A.6 Oracle
767
A.7 Microsoft SQL Server
771
B Selected Transaction Codes
777
C Review Questions and Answers
781
C.1 Questions on Chapter 2, Monitoring Hardware, Databases, and ABAP Application Server
781
C.2 Questions on Chapter 3, Workload Analysis
781
C.3 Questions on Chapter 4, Identifying Performance Problems in ABAP Programs
782
C.4 Questions on Chapter 5, Hardware Sizing and System and Load Distribution
782
C.5 Questions on Chapter 6, Memory Management
783
C.6 Questions on Chapter 7, Workload Distribution and Remote Function Calls
783
C.7 Questions on Chapter 8, SAP GUI and Internet Connection
783
C.8 Questions on Chapter 9, Locks
784
C.9 Questions on Chapter 10, Optimizing Java Virtual Machine and Java Programs
784
C.10 Questions on Chapter 11, Optimizing SQL Statements
785
C.11 Questions on Chapter 12, SAP Buffering
785
C.12 Questions on Chapter 13, Optimizing Queries in SAP NetWeaver Business Warehouse
785
C.13 Questions on Chapter 14, Optimizing Search Queries Using TREX
786
C.14 Questions on Chapter 15, Optimizing Database Queries with SAP HANA
786
D Glossary
787
E Sources of Information
799
F The Author
815
Index
817