With this blog am kicking off a series of blogs on Performance tuning of the SAP application.
Performance tuning is a favorite topic for SAP technical consultants. I do believe that building performance tuning capability withing an organization is crucial to improve overall efficiency of our support . Optimized systems can maximizes the net value that the customer receives and thereby improves our customer satisfaction levels as well.
However I do think that there is a wrong notion that performance tuning is about changing some parameters at the SAP level or modifying some parameters at the database/OS levels.
I see Performance optimization as an art of enabling the system to function to its true capacity and maximum potential. Enabling this requires a whole gambit of skill sets and more importantly an analytical approach to things.
Lets ask a fundamental question "Why is performance of a business application important ?"
Faster applications will have motivated employees who are not frustrated due to slow response , it thereby increases productivity and efficiency of the overall service delivery.
A Slow system can result in unwanted downtime and in some cases the business application will not even have the throughput necessary for running the business processes.
One of the worst nightmare in a go-live is the application going down because it cannot handle the load . So a proper performance tuning "Pre" and "Post" any SAP project is very important.
The SAP Performance optimization guide Broadly classifies performance optimization into 5 phases
- Understanding the business processes
- Setting and quantifying the performance goals
- Systematic Monitoring
- Identification and analysis of the problem
- Implementation of optimization measures
- Verify the success of measures introduced
These phases provide a systematic approach for analysis and optimization of the SAP system.
We can classify performance optimization into two categories .
Technical Optimization : A Business application have several components which includes logical components like services , threads and work processes and memory areas such as buffer and user contexts . On the other side you have physical components like processer, main memory , storage and network .
Balancing the interplay between these components is what technical optimization is all about .
Application optimization: involves tuning inefficient programs whose suboptimal use can degrade performance . One of the most common performance issue is a program which fetches huge volume of unwanted data which gets stored in the buffer and wipes out frequently used data from the buffer , thereby leading to performance degradation. Its important to understand ABAP Buffer parameters / SQL and ABAP programming to optimally tune the application.
The level of tuning required will entirely depend on the scale of installation and the level of customization done on the system . More the customization to standard SAP software higher the possibility of a performance bottleneck
With the advent of solution manager SAP has changed the dynamics of how systems are monitored .They have introduced a concept called Solution Monitoring where SAP Solution manager checks the functionality of the Entire process /functionality and thereby also identifies hardware and software components involved in the solution. This has changed the way people perceived Performance monitoring.
The question that keep doing the rounds is what is the overall skillset required to be a tuning expert .
These are some of the things which are crucial but remember its just not limited to this
- SAP has provisioned various tools to monitor and optimize performance like (OS Monitor ST06 , ABAP Buffer monitoring St02 , Workload analysis ST03N, Application monitoring modulewise ST07/ST14. Understanding these tools and to using them in tandem can help to spot several issues and fix them. We will be dealing with these individual tools in my subsequent blogs.
- Knowledge of database is essential to create database indexes or to effectively formulate a SQL statement . Many performance issues like Long running jobs / process chains etc may point to poorly written SQL statement . So understanding of the SQL is imperative. Understanding the database architecture is crucial when tuning any of the architectural components Ex Database buffer cache, Shared pool area etc..
- Knowledge of the ABAP programming language will help you use abap commands effectively. This is crucial to debug and effectively modify abap programs and optimize performance.
- Knowledge of business processes –recognize time critical processes and adapt important transactions to suit users.
- The performance of the SAP application can be affected by Poorly optimized OS / Network or storage . So its important for a SAP Netweaver consultant to have some level of understanding of these layers as well.
While we have various tools and skillsets needed to optimize performance of the SAP application its also very important to understand the customers needs . Set expectations and service level very clearly before venturing into a performance tuning effort. After all , The extent to which performance tuning is done is entirely dependent on these factors.
At last Bottleneck can occur anywhere , identifying them requires time and patience . Quick solutions may not be the best solution . Thorough analysis and time is required to identify the bottleneck and to come up with the best possible solution.