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 concurrentlywith various applications. Software developers are also faced with diverse expectations forprogram performance: While users demand short response times and a predictable scalingbehavior when the amount or the size of processed objects grows, IT administrators wantminimal 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 abalanced way to optimize application performance. This requires a systematic, fact-basedstrategy to identify the parts of the software where most of the runtime is spent or thatconsume most of the resources, especially memory.So how do you apply this strategy in your ABAP-based SAP environment? You must startwith 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 thatcan indicate whether the program’s performance needs optimization and whether thereare bottlenecks related to runtime or to memory consumption. Such a monitoring toolcan 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, andcalls to processing blocks — that are executed as the application runs, and to record theirnumber, runtime (inclusive as well as exclusive), memory consumption, and call stack. Thisprofile 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 ofall currently supported releases of SAP NetWeaver Application Server (SAP NetWeaver AS)ABAP. Transaction STATS1 serves as the monitoring tool, while transaction ST052 is helpfulfor 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 (alsoknown 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 performancebottlenecks and resource consumption hotspots.1 For an introduction to transaction STATS, refer to my article “Identifying Performance Problems in ABAPApplications” 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” inthe 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 forSAP NetWeaver 7.0.ManfredMensch(manfred.mensch@sap.com) joined SAP in 2000and has been a memberof the Performance andScalability team since2006. His responsibilitiesinclude supporting hiscolleagues in SAP’sProducts and Innovationorganization by coachingand consulting on perfor-mance during the design,implementation, andmaintenance phasesof their software. Cur-rently, Manfred is focus-ing on the developmentof training programsand on performanceanalysis tools.Pinpoint Performance BottlenecksUsing ABAP ProfilingAnalyze 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 withpermission from the publisher, WIS Publishing.