Breaking response time into components, the analysis transactions, buffers and memory, and the right order in which to improve things.
Contents
"The system is slow" is among the most frequent complaints Basis receives, and the first task is establishing what exactly is slow.
Components of response time
Where the time goes
Component
Meaning
Suspect if high
Wait time
Waiting for a free work process
Too few processes, long runners
Roll time
Swapping user context
Memory pressure
Load time
Loading programs
Program buffer too small
CPU time
ABAP execution
Inefficient loops, large volumes
Database time
Database access
Missing indexes, poor SQL
Enqueue time
Waiting for locks
Lock contention
GUI time
Screen transfer
Network or GUI settings
The analysis tools
Code
Purpose
ST03 / ST03N
Workload analysis; the starting point
ST05
SQL trace
ST02
Buffer hit rates and swaps
ST06
Operating system CPU, memory and disk
SM50 / SM66
Work process state
SAT
ABAP runtime analysis
DB02
Database space and objects
Reading ST03
Look for transactions that are both frequent and slow. Something taking two seconds five thousand times a day matters more than something taking ten seconds three times.
Buffers
Buffers and target hit rates
Buffer
Content
Target
Program
Compiled ABAP
Above 98%
Generic key
Table data by partial key
Above 95%
Single record
Individual rows
Above 95%
CUA
Menus and screen definitions
Above 98%
Screen
Dynpro definitions
Above 98%
Memory
How memory is consumed
Order
Area
Content
1
Roll area
Used first, per process
2
Extended memory
Shared; the main working area
3
Heap
After extended memory is exhausted; private, causing PRIV mode
What to fix first
SQL: add indexes, remove SELECTs from loops — by far the largest effect
Program logic: eliminate nested loops and unnecessary work
Archiving: reduce table sizes by removing or offloading old data
Buffers and memory: parameter tuning
Hardware: the last resort, and never a root-cause fix
Check your understanding
Test what you just read.
Quiz 1
Which transaction code is used for SQL trace recording and analysis?
Quiz 2
Which transaction code checks SAP buffer statistics?
Quiz 3
ST03N can show average response times per transaction.
Quiz 4
Which transaction code is used for database monitoring?
Quiz 5
Performance problems are always caused by the database.
Quiz 6
Arrange the general performance investigation steps in order.
Click items in the correct order
Hear when the paid version launches
A paid version is in preparation, with no ads, saved learning progress and many more practice questions. Leave your email and you will be told when it launches.
Your email address is used only to announce the paid version.