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 + roll
3
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 output
7
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 program
ST03NSM66SM12ST02ST05
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.