Performance Troubleshooting Training
Performance Troubleshooting Training
Troubleshooting
(a semi-systematic approach)
Volker Rieckert
HP Outsourcing Services Europe
Enterprise Application Operations
• what has been changed just before problem started (e.g. imports,
new users, parameter changes, new release, patches)
• which user(s) experience bad performance (single user vs. all users)
04/23/24 Volker Rieckert / HP MS EMEA – SAP Operations / Consulting & Architecture Design Europe page 2
Unsystematic Part (“Quick Guesses”):
Check CPU and Paging on DB server
• Run “top” to see if there are non-SAP/non-DB processes among the top 10
CPU consumers
• Start “glance” and leave it running during the whole time of your analysis (to
get accumulated statistics):
04/23/24 Volker Rieckert / HP MS EMEA – SAP Operations / Consulting & Architecture Design Europe page 3
Unsystematic Part Cont.:
Reset statistics
04/23/24 Volker Rieckert / HP MS EMEA – SAP Operations / Consulting & Architecture Design Europe page 4
Unsystematic Part Cont.:
Check Disk Performance
ST04 Detail analysis menu File system requests I/O per path:
04/23/24 Volker Rieckert / HP MS EMEA – SAP Operations / Consulting & Architecture Design Europe page 5
Unsystematic Part Cont.:
Check some more DB statistics
04/23/24 Volker Rieckert / HP MS EMEA – SAP Operations / Consulting & Architecture Design Europe page 6
Unsystematic Part Cont.:
What’s currently going on?
04/23/24 Volker Rieckert / HP MS EMEA – SAP Operations / Consulting & Architecture Design Europe page 7
Systematic Part:
How does the system spend its time?
• Response time: Starts when user request enters the dispatcher queue. Ends
when the following screen is sent back to the user. Does not include network
time between application server and front end.
• Wait time: Starts when user request enters the dispatcher queue. Ends when
request starts to be processed by work process.
• Load time: Time needed to load and generate objects like ABAP source
code, CUA and dynpro information from database
04/23/24 Volker Rieckert / HP MS EMEA – SAP Operations / Consulting & Architecture Design Europe page 8
Systematic Part:
Components of Average Response Time
• Roll wait time (see also speaker’s notes): Time within a dialog
step during which the user context is rolled out, waiting for
response (from some RFC-client or from the front end). During
this “waiting time in the roll area”, the work process can handle
other requests. As of 4.6 the major part of communiction between
application server and front end (typ. 100 – 200 ms per dialog
step) is thus reflected in the roll wait time.
04/23/24 Volker Rieckert / HP MS EMEA – SAP Operations / Consulting & Architecture Design Europe page 9
Systematic Part:
Components of Average Response Time
04/23/24 Volker Rieckert / HP MS EMEA – SAP Operations / Consulting & Architecture Design Europe page 10
Av. response time = Av. wait time
+ Av. processing time (not listed)
+ Av. load time
+ Av. Roll in+wait time
+ Av. DB request time
+ Av. enqueue time
(but not Av. CPU time!!!)
Av. CPU time: av. CPU time used by SAP work process, i.e. some
fraction of “av. response time – av. wait time”
04/23/24 Volker Rieckert / HP MS EMEA – SAP Operations / Consulting & Architecture Design Europe page 11
Systematic Part:
“Normal Dialog Response Times”
04/23/24 Volker Rieckert / HP MS EMEA – SAP Operations / Consulting & Architecture Design Europe page 12
Systematic Part:
“Normal Time per DB request”
04/23/24 Volker Rieckert / HP MS EMEA – SAP Operations / Consulting & Architecture Design Europe page 13
Systematic Part:
“How to proceed”
04/23/24 Volker Rieckert / HP MS EMEA – SAP Operations / Consulting & Architecture Design Europe page 14
Systematic Part:
“How to proceed”
04/23/24 Volker Rieckert / HP MS EMEA – SAP Operations / Consulting & Architecture Design Europe page 15
Systematic Part:
“How to proceed”
04/23/24 Volker Rieckert / HP MS EMEA – SAP Operations / Consulting & Architecture Design Europe page 16
Additional Information:
Understanding R/3 Memory Mgmt.
04/23/24 Volker Rieckert / HP MS EMEA – SAP Operations / Consulting & Architecture Design Europe page 18
Additional Information:
Understanding R/3 Memory Mgmt.
• Dialog or batch tasks will abort, if they cannot allocate any more
memory of any kind.
04/23/24 Volker Rieckert / HP MS EMEA – SAP Operations / Consulting & Architecture Design Europe page 19
Additional Information:
Understanding R/3 Memory Mgmt.
04/23/24 Volker Rieckert / HP MS EMEA – SAP Operations / Consulting & Architecture Design Europe page 20
Additional Information:
First steps towards Perf. Analysis
Starting with 4.6B, you can directly jump to the location in the
ABAP program from where the SQL-statement was called for the
first time (since DB start or reset)!
04/23/24 Volker Rieckert / HP MS EMEA – SAP Operations / Consulting & Architecture Design Europe page 21