Do More With Less. Performance Analysis for Hardware Optimization in SAP Systems.
SAP Performance is a broad topic. In this blog I’m going to explain a simple approach to reduce hardware utilization. This means identifying ways to reduce physical CPU, Memory, Disk, Database, Network load, etc. There are many great tools to help with this. Today I’ll be using an app called Lensera. This one has a simple user interface and does a lot of the data-intensive work for you.
There are many reasons to look at improving system performance. For example:
- lowering infrastructure costs
- better sustainability
- improving user experience
- increased stability
Where to start
Whether you’re running your SAP systems in your own data centres or on your cloud infrastructure, at some point you will probably start to reach the physical limits of the servers. You may hear “We are running low on CPU” or “The memory is almost at 100%”. Rather than upgrading the hardware or upsizing the VM, it’s possible that some analysis and application changes can solve the problem.
Let’s look at 3 examples of high usage: CPU, Memory, and Database Time – and pinpoint the root causes.
High memory usage
The screenshot below is the default view when the app starts. It’s showing the total Memory (RAM) usage across all SAP Application Servers. In this case there is one S/4HANA server, and one S/4HANA Gateway server. The Lensera application will group together as many SAP systems as you configure, or you can look at them individually.
This chart is showing the total memory usage of the 2 systems over a 7-day period. You can clearly see most of the memory is used during the 5 business days of the week.
Let’s find out what caused one of the peaks. By zooming in and highlighting the area on the main chart, we can see each of the processes that ran during that time. In this example, transaction PFCG was being used heavily at that time, accounting for 56.6% of the memory used. Transaction PFCG is used to configure user roles in SAP.
High CPU Usage
From the menu, switch over to the CPU Metric. Again, most of the CPU is being used during business hours.
Zoom in and highlight the peak period. The top 15 CPU consuming processes are instantly shown below the chart. In this example, the Fiori Launchpad OData Page Builder service consumed 23.7% of the CPU during the selected period. The Page Builder service is required to run the Fiori Launchpad.
High Database Usage
There are a whole range of factors that affect the performance of the database. We will just look reducing Database load by finding the processes that spent the most time making database requests.
Select the desired time range and switch over to the Database Response Time metric:
Drag the mouse over the chart to highlight the peak. In this example, 48.5% of the database time used during the peak was due to the Task Processing OData process. This is used by Fiori apps like My Inbox.
Now you know which transaction, OData service, RFC, Batch Job etc is causing the peak load, it’s time to fix it.
- Check how often its running. It may be using so many resources because it’s been scheduled to run way too often
- Schedule the SAT trace tool to capture the process as its running. This will give a granular performance profile of the selected process.
For standard SAP processes
- Check the SAT trace to see if a customer enhancement been done. Use the trace information to see how that code can be improved.
- Check the SAP Support Portal for more information or a Note that may fix the problem
For custom ‘Z’ processes
- Check the SAT trace to see how the code can be improved.
Performing this analysis and implementing some changes can be a more sustainable and cost effective solution when hardware capacity is running low. Because the process is very simple to run, it can also be done as part of the ongoing management of the systems. As well as reducing load on the server, it should also improve response times and as a result, the user experience.
If you are facing an issue like this, hopefully the resolution becomes a little easier.
Please share your feedback or thoughts in the comments below.
Check out some of the other great performance related information on the SAP Community Pages