Performance tuning in SAP | Performance Tuning Checklist
This complete journey should be completed within 600 Milli seconds on an average or goes up to 600 Seconds Max.
1. Front End Time/ GUI Time : Time taken by the user to reach the dispatcher is called as 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, network might be congested.
3. The user request is expensive (FI and basis will logon to the central instance. Rest of all the users are allowed to login 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.
2. Wait Time: 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 are not sufficient to handle the user requests. (1:5)
2. There are sufficient processes but the existing process are held with expensive request.
Login/disable_multi_gui_login.
3. Roll in Time: The work process copies the Roll in User context into WP task handler. The time 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.
4. Roll Out Time: The time 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.
5. 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.
6. Processing Time: 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, screen is expensive or SQL statements are expensive.
7. CPU Time: 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 Run time Analysis, ST05 Performance Analysis)
8. LG Time: 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.
9. Enqueue Time: 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.
10. 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 wont be any threshold value as it depends on External system.
11. Database Time: The time 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 bottle neck on DB.
3. The DB Buffers are not sufficient.
4. Missing indexes in DB02.
12. Dialogue Response time: The time taken by the Dialogue process to process the request which includes [Wait time ........ To ......... Roll Out Time]