This complete journey should be completed within 600 Milliseconds on an average or goes up to 600 Seconds Max. Performance tuning is one of the most important tasks since it’s nearly impossible to trace and nail the exact situation on when something goes wrong. There are many possible combinations and permutations which must be considered while tuning system performance to an optimal level. Here are some of the areas to look for when you notice a slowness. These tasks and areas are very elaborative and are to be considered only from an entire systems perspective and not for specific ABAP Programs.
Front End Time/ GUI Time
Time taken by the user to reach the dispatcher is called as the Front-end time. The GUI time should not exceed more than 200 M.Sec. If it exceeds this consider the following.
1. User desktop is slow
2. If this is same with all the users, the network might be congested.
3. The user request is expensive (FI and basis will log in to the central instance. Rest of all the users are allowed to log in to Dialogue instance)
Note: GUI response time is not considered as a part of the Dialogue response time because the request is not received by the dispatcher.
The amount of time the user request sits in the queue. Generally, it should not be more than 50 M.Sec or 10% of the response time. If the time exceeds, consider the following.
1. The work process is not sufficient to handle the user requests. (1:5)
2. There are sufficient processes but the existing process is held with the expensive request.
Roll in Time
The work process copies the Roll in User context into WP task handler. The time is taken by the work process to copy the context (Roll In) is referred as Roll in time. Generally, it should not be more than 50 M.Sec. If it is more than this consider the following.
1. The user context is heavy to Roll in (User might having more authorizations, parameters)
2. Minimize the authorizations.
Roll Out Time
The time is taken by the work process to copy the information from its local memory to Roll Area/ Roll File/ User context/ Roll buffer and it should not be more than 50 M. Sec.
Roll Wait Time
During the processing when a dialogue process communicates with RFC’s and waiting for the response at this time the user context is copied/ rolled back to BTC —- RFC — Target system.
Roll wait time Sleep
Note: Roll wait time is not considered as a part of response time. If the roll wait time increases consider there is a bottle next on the RFC communication.
The time taken by the work process to process the user request using interpreters. The processing time should not be more than 200 M.Sec. If the processing time is more we can consider either ABAP program is expensive, the screen is expensive or SQL statements are expensive.
When the request are processed using interpreters an amount of CPU is utilized to process the request using CPU resources is referred as CPU time. As CPU time is included in processing time it is not calculated in the response time. CPU time should not be more than (40% of the Dialogue response time – Wait time). If CPU time is more consider tuning ABAP Programs Refer to ABAP development team (Also Refer SE30 ABAP Runtime Analysis, ST05 Performance Analysis)
Load and Generation Time: Time required to load the objects such as source code, GUI info, screen info from the database and generate these objects. (Refer LC10 : Live Cache). It should not be more than 200 M.Sec.
Run SGEN tcode after patch application, upgrade, new installation or when there is a mass change in the programs.
The time taken by the process to communicate with enqueue for obtaining the lock while updating a record is referred as Enqueue time. Enqueue time should be 5 M.Sec. on a Central instance and 100 M.Sec on a Dialogue instance. If it exceeds more than this time we can consider that the enqueues are not sufficient or Enqueue table overflow. or WP waiting for a lock.
RFC or CPIC Time
The time taken by the process to communicate with external interfaces is referred as RFC time. It should be as minimal as possible. (Communication between any BW/ CRM/ SCM system). There won’t be any threshold value as it depends on the External system.
The time is taken by the process to reach the database and process the request. Generally, it should not be more than 40% of (Response time – Wait time). It is similar to the CPU time. IF DB Time is more consider the following.
1. The DB statistics job is not scheduled in DB13.
2. The DB resources are stake(CPU and Memory Utilization) i.e. Resource bottleneck on DB.
3. The DB Buffers are not sufficient.
4. Missing indexes in DB02.
Dialogue Response time
The time is taken by the Dialogue process to process the request which includes [Wait time …….. To ……… Roll Out Time]