Download chapter 8: 'Performance'
Excerpted from the book SAP Database Administration with Oracle', by Michael Höding, André Faustmann, Gunnar Klein, and Ronny Zimmermann, ISBN 978-1-59229-120-5 Copyright 2008. Written permission from SAP PRESS is required for all other uses. Copyright © 2008 SAP PRESS America. All rights reserved. Email: firstname.lastname@example.org. SAP PRESS America, 11300 Rockville Pike, Suite 1100, Rockville, MD 20852-3030, USA.
In IT, performance describes a system's ability to carry out a task within a given timeframe. Therefore, performance is always measured in terms of tasks per time, such as FLOPS (floating-point operations per Second) or SAPS (SAP Application Performance Standard). One hundred SAPS are defined as 2,000 completely finished order items per hour, that is, 6,000 technical dialog steps and 2,000 update processes.
Usually, the transfer of a specific amount of data is the challenge, so that the unit can be described as quantity per time unit. Standardization of units is essential for comparing different systems and their performance. Such comparisons of defined and reproducible performance are referred to as benchmarking.
In the real world, it is the user who determines whether the performance of a system is good or poor. It's a matter of personal or subjective perception. A user does not necessarily recognize the scope of a task that has to be processed by a system. Consequently, on the one hand, good performance is an absolute characteristic when comparing systems, and, on the other hand, it has to be regarded in relation to the requirements. In addition, sociological factors play a role in this field: Five seconds of queue time for a data warehouse request is no problem for a user in an enterprise, whereas a customer of a web shop might be less patient.
Therefore, the overall goal of a system administrator must be to meet the different performance requirements to enable users to efficiently use a system. Performance optimization is part of the lifecycle of every system and involves the steps of implementation, operation, and revision. Figure 8.1 shows a lifecycle including its different phases.
The process of optimization is divided into the phases of analyzing, implementing, and verifying. There are two optimization cycles. The first, "small," cycle is carried out entirely in the lifecycle phase of operation. This is the phase of performance optimization, which has no or only short time effects on a system's availability. Examples of these processes include SAP kernel parameters for memory areas or work processes as well as the parameters of the Oracle database, some of which can be dynamically changed during runtime.
The "big" cycle covers the lifecycle phases of implementation, operation, and revision. Optimizations that require more time to be completed, as they involve tests and affect the system operation, must be performed within this wider context. Modifications on application code or extensive reorganizations of databases are also part of this cycle. This chapter describes the analysis, implementation, and verification phases: Which analyses can be performed on a combination of SAP with an Oracle database and how can the results be implemented? To answer this question, we should first categorize the problems.
8.1 Administrative and Program-Based ProblemsThere are three sources of performance problems: program-based, administrative, and user-specific problems.
If performance problems are caused by the code of an application, the cause is program-based. Unfortunately, there are many examples of poorly coded software, as coding involves a wide range of bug types, such as memory leaks and inefficient algorithms, to name just a few. If, on top of that, a database is used, the probable bugs cover SQL statements that are required for the interaction. The issue of program-related performance problems is covered in Section 8.3, Analyzing Program-Based Performance Problems.
Administrative performance problems are caused by the configuration of hardware and software. This covers a wide range of areas, from incorrect disk layout to insufficient storage parameters of the database and the SAP system to the incorrect assignment of permissions. The methods used to analyze and solve these problems are described in Section 8.2, Analyzing Administrative Performance Problems.
The third source for possible problems is the behavior of users, in other words, user-specific causes. In this context, the problematic question is: Who caused the problem? The user who, for example, runs extensive queries and therefore causes the system performance to go down, or the programmer or administrator who does not prevent different kinds of "excessive use," by setting maximum values for input boxes or running plausibility checks? User-specific performance problems are not further discussed in this book. The solution to this type of problem is not the administration of SAP and Oracle databases but the development of applications or the administration of user permissions.
Besides the causes of the problems, the locations of problems represents the second part of a problem analysis, in this context, location means: Where does the performance problem occur? For a further specification of this issue, a system must be divided into its individual components. From a performance analysis point of view, an SAP system consists of the following components:
- Operating system
- SAP Basis (that is, SAP Kernel + SAP Basis = SAP NetWeaver Application Server)
- SAP application
Table 8.1 shows an overview of the possible combinations of cause and location for the assignment of performance problems. Note that this chapter focuses only on the problematic points related to Oracle and SAP.
We will now continue this chapter in two parts. The first part, Section 8.2 Analyzing Administrative Performance Problems deals with administrative performance problems in all fields including hardware, operating system, the Oracle database, and the SAP system, with a particular focus on Oracle and the SAP system, according to the intention of this book. Then, Section 8.3, Analyzing Program-Based Performance Problems, deals with the programrelated issues, such as expensive SQL statements, indexing, and to a smaller extent, ABAP programming.
Visit the SAP Press website for a detailed description and to learn how to purchase this title.