Pinpoint Performance Bottlenecks Using ABAP Profiling Analyze Your Application with Transaction SAT
Complex IT landscapes must support many users working concurrently with various applications. Developers are faced with diverse expectations for performance: While users demand short response times and a predictable scaling behavior, administrators want minimal resource consumption so that the required hardware is as cost-efficient as possible. Download the Document
Today’s complex IT landscapes must support many business users working concurrently
with various applications. Software developers are also faced with diverse expectations for
program performance: While users demand short response times and a predictable scaling
behavior when the amount or the size of processed objects grows, IT administrators want
minimal resource consumption so that the required hardware is as cost-efficient as possible.
When these expectations are not met, or conflict with each other, developers must find a
balanced way to optimize application performance. This requires a systematic, fact-based
strategy to identify the parts of the software where most of the runtime is spent or that
consume most of the resources, especially memory.
So how do you apply this strategy in your ABAP-based SAP environment? You must start
with a complete and functionally correct application running on a test system with a repre-
sentative set of test data. Then, to measure the application, you need a monitoring tool that
can indicate whether the program’s performance needs optimization and whether there
are bottlenecks related to runtime or to memory consumption. Such a monitoring tool
can also detect issues linked to communication with external resources. For a detailed analy-
sis, you need a profiling tool to examine events — such as instructions, statements, and
calls to processing blocks — that are executed as the application runs, and to record their
number, runtime (inclusive as well as exclusive), memory consumption, and call stack. This
profile information pinpoints the critical — that is, the most expensive — parts of the appli-
cation coding.
These measurement and analysis tools are readily available to SAP customers as part of
all currently supported releases of SAP NetWeaver Application Server (SAP NetWeaver AS)
ABAP. Transaction STATS1 serves as the monitoring tool, while transaction ST052 is helpful
for problems caused by communication with external agents. This article looks at the profil-
ing tool included with SAP NetWeaver AS ABAP: transaction SAT, the ABAP Trace tool (also
known as Runtime Analysis).3 It shows you how to enable the recording of ABAP profiles
(also known as traces) and how to analyze the results to find your application’s performance
bottlenecks and resource consumption hotspots.
1 For an introduction to transaction STATS, refer to my article “Identifying Performance Problems in ABAP
Applications” in the January-March 2016 issue of SAPinsider (SAPinsiderOnline.com).
2 This tool is described in my article “Track Down the Root of Performance Problems with Transaction ST05” in
the July-September 2013 issue of SAPinsider (SAPinsiderOnline.com).
3 Transaction SAT is the successor of transaction SE30, and is available as of enhancement package 2 for
SAP NetWeaver 7.0.
Manfred
Mensch
(manfred.mensch@sap.
com) joined SAP in 2000
and has been a member
of the Performance and
Scalability team since
2006. His responsibilities
include supporting his
colleagues in SAP’s
Products and Innovation
organization by coaching
and consulting on perfor-
mance during the design,
implementation, and
maintenance phases
of their software. Cur-
rently, Manfred is focus-
ing on the development
of training programs
and on performance
analysis tools.
Pinpoint Performance Bottlenecks
Using ABAP Profiling
Analyze Your Application with Transaction SATSubscribe today. Visit SAPinsiderOnline.com.
This article appeared in the Jan 2018 issue of SAPinsider
(www.SAPinsiderOnline.com) and appears here with
permission from the publisher, WIS Publishing.
with various applications. Software developers are also faced with diverse expectations for
program performance: While users demand short response times and a predictable scaling
behavior when the amount or the size of processed objects grows, IT administrators want
minimal resource consumption so that the required hardware is as cost-efficient as possible.
When these expectations are not met, or conflict with each other, developers must find a
balanced way to optimize application performance. This requires a systematic, fact-based
strategy to identify the parts of the software where most of the runtime is spent or that
consume most of the resources, especially memory.
So how do you apply this strategy in your ABAP-based SAP environment? You must start
with a complete and functionally correct application running on a test system with a repre-
sentative set of test data. Then, to measure the application, you need a monitoring tool that
can indicate whether the program’s performance needs optimization and whether there
are bottlenecks related to runtime or to memory consumption. Such a monitoring tool
can also detect issues linked to communication with external resources. For a detailed analy-
sis, you need a profiling tool to examine events — such as instructions, statements, and
calls to processing blocks — that are executed as the application runs, and to record their
number, runtime (inclusive as well as exclusive), memory consumption, and call stack. This
profile information pinpoints the critical — that is, the most expensive — parts of the appli-
cation coding.
These measurement and analysis tools are readily available to SAP customers as part of
all currently supported releases of SAP NetWeaver Application Server (SAP NetWeaver AS)
ABAP. Transaction STATS1 serves as the monitoring tool, while transaction ST052 is helpful
for problems caused by communication with external agents. This article looks at the profil-
ing tool included with SAP NetWeaver AS ABAP: transaction SAT, the ABAP Trace tool (also
known as Runtime Analysis).3 It shows you how to enable the recording of ABAP profiles
(also known as traces) and how to analyze the results to find your application’s performance
bottlenecks and resource consumption hotspots.
1 For an introduction to transaction STATS, refer to my article “Identifying Performance Problems in ABAP
Applications” in the January-March 2016 issue of SAPinsider (SAPinsiderOnline.com).
2 This tool is described in my article “Track Down the Root of Performance Problems with Transaction ST05” in
the July-September 2013 issue of SAPinsider (SAPinsiderOnline.com).
3 Transaction SAT is the successor of transaction SE30, and is available as of enhancement package 2 for
SAP NetWeaver 7.0.
Manfred
Mensch
(manfred.mensch@sap.
com) joined SAP in 2000
and has been a member
of the Performance and
Scalability team since
2006. His responsibilities
include supporting his
colleagues in SAP’s
Products and Innovation
organization by coaching
and consulting on perfor-
mance during the design,
implementation, and
maintenance phases
of their software. Cur-
rently, Manfred is focus-
ing on the development
of training programs
and on performance
analysis tools.
Pinpoint Performance Bottlenecks
Using ABAP Profiling
Analyze Your Application with Transaction SATSubscribe today. Visit SAPinsiderOnline.com.
This article appeared in the Jan 2018 issue of SAPinsider
(www.SAPinsiderOnline.com) and appears here with
permission from the publisher, WIS Publishing.