ABAP Host CPU Usage Test

The SAP ABAP instance is a dedicated process that runs on an application server executing ABAP programs and handles specific tasks/services within the SAP environment. CPU contentions on the instances can significantly degrade the performance of that instance. To avoid this, administrators must track the CPU usage of the instance over time, proactively detect potential CPU contentions, and accurately isolate what is causing excessive CPU usage - system processes? or user processes? or being idle? This can be achieved using the ABAP Host CPU Usage test.

This test monitors the CPU usage of the target instance and alerts administrators to erratic usage patterns on the instance and what is causing them. This way, the test helps administrators isolate and pre-empt CPU contentions on the instance, and thus improve the performance of the instance.

Target of the test : A SAP ABAP instance

Agent deploying the test : An internal/remote agent

Outputs of the test : One set of results for every SAP ABAP instance being monitored.

Configurable parameters for the test
Parameter Description

Test Period

How often should the test be executed

Host

Host name of the server for which the test is to be configured.

PortNo

Enter the port to which the specified host listens.

ClientName

Specify the ID of the client system as what the eG agent will be connecting to the SAP ABAP instance. To know how to determine the client ID to use, follow the instructions provided in Determining the Client ID/Name for the eG Agent to Connect to the SAP ABAP Instance.

SAPUser

Typically, to connect to a SAP ABAP instance and run tests, the eG agent requires the permissions of a SAP user who has been assigned with certain authorization objects. Ideally, you will have to create a new user role on the SAP ABAP instance for this purpose, associate the above-mentioned authorization objects with that role, and assign the new role to an existing SAP user. The procedure for the same has been provided in Creating a New User Role for Monitoring and Assigning it to a SAP User. Once the new role is assigned to a SAP user, specify the name of this user against SAPUser.

Password

The password of the specified SAPUser.

Confirm Password

Confirm the password by retyping it here.

SysNo

This parameter appears only if the Use SAPControl flag is set to No – i.e., if the test uses SAPJCO to collect measures. An indicator of the TCP/IP port at which the SAP server listens. For example, for a server that listens at port 3200, the SysNo will be ‘00’. Similarly, if the SAP server port is 3201, the SysNo will have to be specified as ‘01’. Therefore, in the SysNo text box specify the system number of the SAP server with which the specified client communicates. To know the system number for the ABAP server being monitored, follow the procedure detailed in Identifying the SAP Router String and System Number.

Router

This parameter appears only if the Use SAPControl flag is set to No – i.e., if the test uses SAPJCO to collect measures. If the SAP client with the specified ClientName exists in a network external to the SAP server, then a router will be used to enable the server-client communication. In such a case, specify the router string of the router in the Router text box. If both the client and the server exist in the same network, then specify ‘none’ against the Router text box. To know what is the SAP Router string for the ABAP server being monitored, follow the procedure detailed in Identifying the SAP Router String and System Number.

InstanceName

This parameter appears only if the Use SAPControl flag is set to No – i.e., if the test uses SAPJCO to collect measures. This is set to none by default. This implies that the eG agent automatically discovers the instance name at run time.

Timeout

Indicate the duration (in seconds) for which this test should wait for a response from the SAP ABAP instance. By default, this is set to 120 seconds.

JCO Version

The eG agent uses the SAP JCO library to connect to the SAP ABAP system and pull out metrics. To enable the eG agent to make this connection and query the metrics, you need to specify the version of the SAP JCO library that the agent needs to use. For instance, to instruct the eG agent to use JCO v2.1.19, it would suffice if you specify the ‘major version number’ alone against JCO Version – in the case of this example, this will be 2.x. Note that if you have downloaded the SAP JCO CONNECTOR files for SAP JCO version 3 from the SAP market place (as instructed by Downloading the SAP JCO Connector files Required for Monitoring ), then the JCO Version configuration should be 3.x. 

IsPassive

If the value chosen is Yes, then the server under consideration is a passive server in a SAP ABAP cluster. No alerts will be generated if the server is not running. Measures will be reported as “Not applicable” by the agent if the server is not up.

Measurements made by the test
Measurement Description Measurement Unit Interpretation

CPU utilization

Indicates the percentage of CPU utilized by this instance.

Percent

A very high value of this measure indicates a CPU bottleneck.

Comparing the value of this measure across the instances will help you in identifying the instance that is using the CPU resources at its maximum.

System CPU utilization

Indicates the percentage of CPU consumed by the system process of this instance.

Percent

By comparing the value of this measure with that of the User CPU utilization and CPU idle percentage measures, you can instantly determine whether system processes are CPU-hungry or user processes or the idle time, the cause of CPU contention.

User CPU utilization

Indicates the percentage of CPU consumed by the user process of this instance.

Percent

By comparing the value of this measure with that of the System CPU utilization and CPU idle percentage measures, you can instantly determine whether system processes are CPU-hungry or user processes or the idle time, the cause of CPU contention.

CPU idle percentage

Indicates the percentage of CPU that is idle in this instance.

Percent

Compare the value of this measure with the value of the System CPU utilization and User CPU utilization measures to understand where the component spent the maximum CPU time - in serving user requests? in system-level processing? or being idle? In the event of a slowdown, you can use the results of this comparative analysis to determine what caused the CPU contention.

I/O waits

Indicates the percentage of I/O requests to this instance that were in waiting status.

Percent

A constantly increased value of this measure might result in performance degradation.

System calls rate

Indicates the rate of system calls processed by CPU in this instance.

calls/ sec

Operating system calls are used to perform all of the basic scheduling and synchronization of activities on the CPU, and provide access to non-graphic devices, memory management, and name space management. Excessively high number of system calls can impact the performance of a system.

Interrupt rate

Indicates the rate of frequency at which the interrupt requests (IRQs) are being generated and handled by CPU in this instance.

interrupts/sec

An interrupt is a signal sent to the CPU indicating that it should stop its current activities and execute a special routine, known as an interrupt service routine (ISR), to address the event that triggered the interrupt.

If the value of this measure is high, it denotes that the CPU is receiving and handling a large number of interrupt requests per second that consumes a significant portion of the CPU's processing time leading to increased CPU load.

Average waiting processes

Indicates the average amount of time that CPU processes are in waiting state in this instance.

processes/min

A very high value of this measure represents that the processes spend more time waiting for CPU time leading to increased overall latency. This can make applications and services appear slower and less responsive.