Performance Analysis SAP BASIS

In SAP systems, there are performance monitors oriented to analyze the status of a system by observing statistics that are recorded. And there are other monitors that are more oriented to the resolution of a problem that has been detected. Such tools provide a detailed analysis of individual components of the system, such as the database, the operating system, and the work processes and instance configuration. In this section we explain how to perform a performance analysis in a SAP system. To start, we define briefly each tool or monitor that is available, the meaning of the statistics that are recorded, and how to read such statistics to detect possible problems or to analyze the health of a system. Finally, we provide a possible solution to the performance issues that we have learned how to detect.

First, it is essential to differentiate the following two concepts: availability and performance. Availability can be defined as simply as to have a resource or not to have it, A resource can be a work process, a CPU, disk space, memory, a server, the network, and so on. If a resource is available, then performance can be defined as how we can utilize that resource most efficiently. Performance can be measured by response time. In order to evaluate the performance of a system, we will analyze the utilization of resources and how these perform to achieve a task in the lowest amount of time.

The next sections introduce how to check the current activities of SAP systems.

The Work Process Monitor

In order to have a view of our servers and instances from your own SAP system, execute transaction code SM51 or from the main menu select Tools | Administration | Monitor | System Monitoring | Servers. In a central SAP system with only one instance, we will see only one line in this screen with one application server and the corresponding instance, as shown in Figure. In other cases, when your system consists on several application servers, all the servers with instances (one or more than one) will be displayed here.

Displaying the application servers and instances in SAP

Displaying the application servers and instances in SAP

As in previous releases, with SAP Basis, you can see which services or work processes are configured in each instance. These are Dialog, Background (also known as Batch), Spool, Update, Update 2 (Upd2), Enqueue (note that only the central instance, one and only in each system will have this service), and ICM. It is important to note that there is a new service in SAP R/3 Enterprise, the Internet Communication Manager (ICM). This new service is necessary to ensure proper communication between the SAP system and other Web services, systems or applications that use HTTP, HTTPS, or SMTP protocols.

The ICM is part of the underlying SAP Web Application Server and it can be monitored separately with the ICM Monitor, although it is started by the dispatcher, as all the other services or work processes. Just as the other work processes, the ICM must be configured via parameter settings. Double-click on any server from the list to go to the Work Process Monitor of that particular instance. You can also go to this monitor from the main menu following the path Tools | Administration | Monitor | System Monitoring | Processes or executing transaction code SM50. But in order to go to the Work Process Monitor of a specific instance, unless you are already logged on such instance, you may proceed as explained previously from the list of servers in SM51.

The Work Process Monitor provides with very useful information of the current status of an instance and a snapshot of what is going on in your system (again, separately by instance) right now.

The Work Process Monitor

The Work Process Monitor

Each instance is configured by its own Instance Profile with parameter settings that, among others, specify the amount of work processes of each type (dialog, batch, update, etc.). So you will be able to see several dialog work process (type DIA), several background work processes (type BGD), a few update and update 2 work processes (type UPD and UP2), spool work processes (type SPO), and one enqueue work process in the central instance only (type ENQ).

Individually, every work process has a number to be identified by the dispatcher (0 to n, where n is the last work process, no matter what type it is) and a Process Identifier (PID) that makes it differentiable at the operating system level. This monitor displays a lot of information at a glance. The Status column indicates whether a work process is occupied (status running) or free (status waiting). If the work process is in status running, you may be able to see the action taken by it in the Action column. For example, you may see actions such as Sequential Read or Roll In in a dialog work process or actions like Delete or Insert in an update work process. In addition, the Table column will indicate which table is being manipulated or read.

Another possible status of a work process is stopped. Sometimes, a work process may be waiting for a communication from another instance or external system and you would see under the Reason column, the acronym CPIC. Other times, the work process is stopped in private mode (you will see PRIV under the Reason column). None of the statuses is an indicator of a problem, unless the time accrued performing such action and in that status (see the Time column) starts to be excessive and your users experience higher response times. Otherwise, a performance issue is encountered and you must analyze the root cause. The Work Process Monitor gives you very useful clues on where to look and where to go. We explain this in much more detail shortly.

The Start column denotes whether a work process may be restarted by the dispatcher in case this aborts for any reason or not (so you will see "Yes" or "No" here). If a work process is terminated, the Err column will specify how many times. The Semaphore column states which semaphore is being used by that work process and it is not normally an indicator of performance, but just information. Any concurrent programming language that users shared resources (such as work processes) must use some kind of "semaphores" to avoid interference and make good use of the shared resources.

In order to display values under the CPU column, you must click on the clocklike icon or go to the menu path List | CPU. This amount specifies the time that a work process has used the CPU in hours, minutes, and seconds.
Finally, under the Program column, you will see which program is being executed, by hich user (column User) and from which client (column Client). All linked together, you are able to know individually which work processes are free or occupied, doing what, by whom and how long that action is taking.

The snapshot that you see in the Work Process Monitor can be refreshed by clicking on the Refresh icon or on the Check Mark icon to obtain a newer view of the activity in that instance. There is also a way to display the activity occurring across all instances in a system. Execute transaction SM66 to obtain a snapshot of the work processes of all instances. This is somewhat of a cross view of SM51 and SM50, but looks like SM50 with the addition of a new column at the beginning denoting the instance name (application server) to which that work process belongs to. By default, you will only see the running work processes of every instance.

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd Protection Status