High Processing Time for Transactions with Multiple System Interaction
Recently, I was asked to help one customer to check their SAP Retail bad performance problem (with no CPU and database bottleneck from EWA) which has large processing time in total response time of dialog work process for months.
Processing time per Dialog Step defination:
High processing time can be caused by a CPU bottleneck or a problem with communication between systems. (compared with CPU time)
As for this customer, their SAP Retail system interacts with SAP CRM and ECC system in real time by RFC. Take one transaction code MM42 change material as example, it takes around 30 seconds to save only one material change while the main time is consumed by RFC connection between SAP Retail and SAP CRM system.
(Single Statistical Records got from STAD with filter MM42)
We compared with one SAP retail system in customer landscape with no CRM interaction (with same hardware and data size), save material change took less than one second and no RFC shown in STAD single statistical records.
Then it is time to check for the RFC connection and CRM system performance, and also it possible changes data sync in real time to async mode….
Hope this blog will help to fix this kind of performance problem.
Regards,
Ning Tong
Hello Ning
from my experience, "processing time" is a wasting time for SAP, so when SAP analyzes the response time, she may have control of "dispatcher wait time, database time, enqueue time, and roll wait time" and then SAP knows the total response time that it took to get an answer, so if you substact response time all the known times, you will have processing time and CPU time, but SAP cant really control CPU and processing times, she gets those times doing substactions;
Generally, programs are processed during processing time, and CPU capacity is normally consumed during this time. Thus, processing time and CPU time should be more or less the same.
There are documents that say the difference between processing time and CPU time should not be more than 10%. Others say processing time cant be twice the CPU time. Greater lost times indicate performance problems.
But How do you find the that RFC? Which system it is calling and what is function module it is calling?
In my view, you can debug that program to find the RFC information.