Enqueue Test

The Enqueue service allows SAP ABAP applications to lock data so that only they can use it. Locking the data prevents parallel changes to the same data, which would lead to data inconsistency. There is one instance of an enqueue service for each system - this instance becomes the central instance of the system by virtue of having this service. This Enqueue Client collects performance values for requests from other instances to this service. The Enqueue server provides the enqueue service for the system.

This test monitors the performance of the enqueue service and reports how well the owner IDs in the lock table were utilized. In addition, this test reports how well the elementary lock IDs were utilized and how many errors were encountered in the enqueue work process.

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

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

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 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 INSTANCE 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

Client enqueue frequency

The rate of Enqueue operations (logical data locks) coming from another instance to the central instance.

Locks/Min

This is a relative measure of activity in the system, useful only for analyzing unusual events or patterns of activity in an application server. The SAP ABAP enqueue service is capable of handling very high rates of operation. Should an alert occur, it indicates that the wait times for lock operations are having an adverse effect on the overall dialog response time. These situations are of a temporary nature and should correct themselves. They are likely to occur only under unusual circumstances, such as massively parallel execution of RFC calls to a particular server.

Server queue length

The percentage length of the wait queue for the enqueue service

Percent

If an error occurs in this MTE, analyze the problem by executing the following diagnosis function in the lock management:

Call Transaction SM12 and choose Extras -> Diagnosis or -> Diagnosis in update. With SAP’S agreement, you can use the extended diagnosis functions that are displayed by entering the OK codes “TEST”.

Owner names utilization

Indicates the percentage of owner IDs in the lock table that are currently utilized.

Percent

Every time the enqueue server receives a lock request, the system checks the lock table to determine whether the request collides with an existing lock. If this is the case, the request is rejected. Otherwise, the new lock is written to the lock table. This lock table available in the main memory of the enqueue server records the current locks in the system.

For each elementary lock, the table specifies the owner, lock mode, name, and the fields in the locked table.

If the value of this measure is close to 100%, it indicates that all the owner IDs in the lock table are exhausted and hence, new locks cannot be created unless the existing locks assigned to the owner IDs are released.

Granule arguments utilization

Indicates the percentage of lock arguments in the lock table that are currently utilized.

Percent

The locks of different owners or with different lock modes containing the same lock argument occupy one entry in the lock table.

If the value of this measure is close to 100%, it indicates that all the lock argument s in the lock table are exhausted and new locks cannot be created unless the existing locks are released.

Granule entries utilization

Indicates the percentage of elementary locks in the lock table that are currently utilized.

Percent

An elementary lock corresponds to a data record in the lock table. For each elementary lock, the table specifies the owner, lock mode, name, and the fields in the locked table.

If the value of this measure is close to 100%. It indicates that all the elementary locks in the lock table are utilized and hence, new locks cannot be created unless the existing elementary locks are released from the lock table.

Enqueue work process errors

Indicates the number of errors encountered by the enqueue work process.

Number

Ideally, the value of this measure should be zero.

Enqueue work process error rate

Indicates the rate of enqueue work process errors encountered.

Errors/Min