Section 9 of 10

Performance Management

Breaking response time into components, the analysis transactions, buffers and memory, and the right order in which to improve things.

Open 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
ComponentMeaningSuspect if high
Wait timeWaiting for a free work processToo few processes, long runners
Roll timeSwapping user contextMemory pressure
Load timeLoading programsProgram buffer too small
CPU timeABAP executionInefficient loops, large volumes
Database timeDatabase accessMissing indexes, poor SQL
Enqueue timeWaiting for locksLock contention
GUI timeScreen transferNetwork or GUI settings

The analysis tools

CodePurpose
ST03 / ST03NWorkload analysis; the starting point
ST05SQL trace
ST02Buffer hit rates and swaps
ST06Operating system CPU, memory and disk
SM50 / SM66Work process state
SATABAP runtime analysis
DB02Database 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
BufferContentTarget
ProgramCompiled ABAPAbove 98%
Generic keyTable data by partial keyAbove 95%
Single recordIndividual rowsAbove 95%
CUAMenus and screen definitionsAbove 98%
ScreenDynpro definitionsAbove 98%

Memory

How memory is consumed
OrderAreaContent
1Roll areaUsed first, per process
2Extended memoryShared; the main working area
3HeapAfter extended memory is exhausted; private, causing PRIV mode

What to fix first

  1. SQL: add indexes, remove SELECTs from loops โ€” by far the largest effect
  2. Program logic: eliminate nested loops and unnecessary work
  3. Archiving: reduce table sizes by removing or offloading old data
  4. Buffers and memory: parameter tuning
  5. Hardware: the last resort, and never a root-cause fix

๐Ÿ“– Unfamiliar term? Look it up in the SAP glossary.

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