Basisintermediate
SAP System Performance & Workload Monitoring
Using SM50, SM66, ST02, ST03N, and OS-level monitors to diagnose system-wide performance issues.
"The system is slow" is the report. These transactions turn it into a specific cause, and the order matters.
Work process monitoring is like watching toll booths on a highway - SM50/SM66 show which booths (processes) are occupied and by whom right now; ST03N is the traffic report showing where congestion actually builds up (database, CPU, or the on-ramp queue itself) over the whole day.
Key Concepts
1
Start with ST03N — is it the system, or one transaction? The workload monitor aggregates response
times by transaction, user and period, split into components:
ST03N
2
response time = database + CPU + wait + load + roll3
That split is the diagnosis. Time in the database is a query or an index problem. CPU time is ABAP-side
work. Wait time is different from both: the request was queued because no work process was free, which
means the system is saturated rather than any one thing being slow.
4
Then SM50 and SM66 — what is running now. SM50 shows this server's work processes; SM66 shows
every server. Each line says what the process is doing, for which user, and for how long.
SM50SM66
5
The types are not interchangeable:
6
DIA dialog interactive user steps
BTC background scheduled jobs
UPD update V1/V2, the asynchronous database writes
ENQ enqueue the lock table
SPO spool printing and output7
No free dialog processes is the classic "system is hanging". Every user waits, nothing is broken, and
the cause is usually a handful of long-running dialog steps occupying them all — often a report somebody
ran interactively that should have been a background job.
8
ST02 — buffers. SAP caches programs and table contents in shared memory. The tune summary shows hit
ratios and swaps.
ST02
9
A swap means something was evicted to make room and then read again from the database. Occasional swaps are
normal; large and growing swap counts mean a buffer is undersized, and the fix is a profile parameter and a
restart.
10
SM12 — locks, and the incident people misdiagnose. SAP's enqueue mechanism serialises business
objects. When one user holds a lock on a document, others wait.
SM12
11
At period-end close, with many postings to the same accounts, a queue of lock waits looks exactly like poor
performance: transactions hang and CPU is idle. SM12 settles it in seconds by showing who holds what.
SM12
12
A lock left behind by a session that died blocks everyone until it is deleted — which must be done
carefully, because deleting a lock belonging to a live transaction lets two processes change the same
object.
13
The order to work in.
1. `ST03N` — whole system or one transaction, and where the time goes
2. `SM66` — what is running right now across all servers
3. `SM12` — is anything waiting on a lock rather than working
4. `ST02` — buffers, if this is chronic rather than sudden
5. `ST05` / `SAT` — once it is down to one programST03NSM66SM12ST02ST05
14
Then hand it to whoever owns that program, with the measurement rather than the symptom.
15
What the interviewer is probing.1. "Where do you start when users report slowness?" Probing: the method. Stalls: "Check the
database." Moves up: ST03 for the workload distribution to see whether it is database, CPU or wait
time, then narrow with ST05 or SM50.
16
2. "What does a high average database time mean?" Probing: interpretation. Stalls: "The
database is slow." Moves up: usually specific expensive statements or missing indexes rather than
the database itself — the shared buffers and top SQL tell you which.
17
3. "What is the meaning of dialog response time versus wait time?" Probing: the distinction.
Stalls: "The same." Moves up: wait time is time queuing for a free work process, which points at
capacity or long-running dialogs, not at the application.
18
4. "What do you look at in SM50?" Probing: the live view. Stalls: "Running jobs." *Moves
up:* work process states — processes stuck on the same table or in PRIV mode indicate locks or
memory problems.