Blog

Three Steps to Optimizing SAP Application Performance

With each meticulous stroke of the keyboard, each piece of intricate code, each configuration or integration, and with practically everything that occurs as an application comes together, it’s important to think about performance.

As an SAP Administrator I may be tasked with analyzing performance issues and helping developers find the root cause of performance degradation that can occur during development or when the code moves to production. Sometimes the performance issue is something simple that the developer simply overlooked. Sometimes the issue is deeper, such as an issue that is relevant to an SAP Administrator but not necessarily at the top of the priority list for a developer that is focused on their deliverable target date and related acceptance criteria.

Performance issues may not be apparent to the developer until the application moves to production environments where heavy multi-processing results in competition for system resources. Integration with other applications executing in a production environment can also present a challenge.

To optimize performance of an SAP application, I recommend the following steps be taken:

  1. Understand the purpose of the program and why it’s being built.
  2. Execute a trace of the program
  3. Analyze Results

The first step that should be taken is to ask questions to analyze SAP performance issues, such as:

  • Is it a new program?
  • Is it a custom program?
  • Is it an SAP delivered program?
  • Has an OSS note search been conducted to determine if the issue is a known issue resolved by an SAP note?
  • Does the program involve a web service? If so, which?
  • Does the program only read data or write data or both?
  • Has the program been recently modified?
  • What tables are being accessed?
  • Does the program run well in a test environment?
  • Is the program one that is being modified?
    • If the program is a modification of an existing program, additional questions arise such as:
      • When did the performance issue begin?
      • Is the performance issue consistent or sporadic?
      • What time during the day or night does the program execute?
      • Does the performance issue occur also in a test environment or only in production?
      • Has validation occurred to determine the application is used with correct variants or user input?
      • Does the performance issue occur only under specific circumstances?
      • Is it possible the data being operated on has changed?

The second step is to setup and execute a trace of the program. This involves the following steps:

  • Arrange a time to have the program executed in the same manner that results in poor performance of the program (i.e variants, location, launch method, etc.).
  • Using SAP Basis tools watch to see what tables are being hit and watch for patterns as the code cycles through the system
  • Watch for multiple threads in case the application has been configured to use multiprocessing
    • If multiple application servers are part of the production landscape look for related processes that might be launched on different servers
  • Using Operating System tools that monitor memory, cpu and i/o and swap usage to determine if the issue relates to a lack of these system resources
  • Check to see if database lock escalation occurs during the execution using SAP Basis tools or by looking at relevant logs

The third step is to analyze the resulting trace:

  • Determine which relevant SQL statements are consuming the most time
  • Determine which tables are being accessed in the top duration SQL statements
  • Generate an explain plan of the high duration SQL statements and determine if indexes are being used or if full table scans are occurring.
  • Analyze the relevant table(s) and determine their size and what indexes exists for them and when they were last reorganized and statistics run.
  • Compare the where clause of the SQL being analyzed with the index being used to determine if a new index might be warranted.

Additionally, the SAP transactions STAD and ST03N are key performance tools that can provide valuable details on numerous metrics based on user, transaction or program.

In the case of SAP, one must consider the effectiveness of tuning parameters at all 3 levels of the underlying computing infrastructure:

  • Operating system
  • Database
  • SAP

Additionally, performance of network and storage systems must sometimes be considered.

SAP publishes recommended settings for tunable parameters for most major operating systems and popular databases that may have an effect on how well SAP performs. SAP also provides tunable memory buffers that can be monitored and the related tunable SAP parameters are identified making it easier to determine which SAP parameters may be in need of adjustment.

As you can see, when it comes to performance of applications, there is a lot to consider in the analysis and each area above has its own path for mitigation. Performance should be taken into consideration as an application is being designed and coded and performance should also be a consideration during initial testing.

Try to be thorough in building applications with consideration for the end user experience. No one likes to sit and watch the small circle spin or the screen seemly in a dead mode when an application is launched and the enter key is pressed.

Related Blogs
See All Blogs
Blog
Apr 4, 2024

Four Ways a Strong Customer Experience (CX) Strategy Can Benefit Your Entire Business

Creating a positive customer experience (CX) is typically an important part of a company’s product strategy, but many people don’t realize the far-reaching impact of CX on the overall business. In this article, Senior Principal Consultant Joe Dallacqua and Principal Product Strategist Ryan Finco delve into the elements of a strong CX and how they can benefit your entire business.

Read More
Blog
Mar 18, 2024

Unlocking Gen AI’s Full Potential: The Crucial Role of Quality Data

In an era where artificial intelligence (AI) promises to revolutionize industries and redefine competitive landscapes, generative AI stands out for its ability to create new content, from text to images, videos and beyond. This article explores the pivotal role of high-quality data in generative AI efficacy, examines the preparedness of companies for adopting these technologies and outlines essential steps for building a robust data foundation.

Read More
Blog
Mar 13, 2024

Navigating Readiness & Expense for Section 1071 Compliance

After 14 years, Section 1071 of the Consumer Financial Protection Bureau (CFPB) moved from the back burner in bank lending under the Dodd-Frank Act. The question about 1071 remains: will it come onto the front burner considering the legal challenges and injunctions that have delayed its implementation for years? We believe that there are many areas to consider as a bank assesses their compliance readiness, which should be driving discussions across these executive responsibilities. Read on for key readiness focus areas and questions for discussion.

Read More
Blog
Feb 12, 2024

From Legacy to Leading Edge: Advancing Healthcare Through Legacy App Modernization

The modernization of legacy applications in the healthcare industry represents a particularly acute concern, more so than in any other sector. This article explores why legacy application modernization is a significantly bigger issue in healthcare compared to other industries and outlines strategic steps healthcare organizations can take to address this pressing challenge.

Read More
See All Blogs
noun-arrow-2025160 copy 2
noun-arrow-2025160 copy 2
See All Blogs