‎2009 Mar 24 10:13 AM
Hi,
I'm migrating a CRM and one of the steps is migrate marketing attributes using a BAPI. Now I'm testing the uploading program and I don't know why the performance is decreasing more and more.
The first day I tested the program, it runs 50 times better than now. Now each time I execute BAPI_TRANSACTION_COMMIT the program needs like 50 seconds to finish that action!! Last week it was done in less than a second.
If I stop the program and start it again the speed doesn't improve, I think my program it's well designed because it only pass the parameters to the BAPI for each Business Partner... I suppouse that must be a Basis issue but I'm not sure what can it be
‎2009 Mar 24 10:17 AM
Hi Marshal,
Monitor using SM50 and SM66 what is happening with your code and your server. It's possible that the server is with more load.
Fernando Da Ró
‎2009 Mar 24 10:31 AM
Hi Fernando,
I've monitored and debugged the program but I don't see anything strange... the server where I'm testing is the Quality server and no more process are active...
I've actived the trace in ST05 during the BAPI_TRANSACTION_COMMIT execution and I see there are thousands of SELECTS and INSERTS but I'm not sure if this is normal for that BAPI or not.
‎2009 Mar 24 10:37 AM
Check if is there any SQL statment spending high time (marked in read on ST05).
Also, run SE30 on the program which is calling the BAPI to help if is something else like BADIs, EXITs or just to explain where the process is losing time.
Regards,
Fernando Da Ró
‎2009 Mar 24 10:49 AM
Thanks for your help Fernando but there aren't red statements in the trace. And no exits or BADIS are affecting the BAPI.
I don't know what else can it be. But I think I can't solve that as a developer without basis help
‎2009 Mar 24 11:23 AM
If it is really becoming slower, then you check the monitor ST03, where you can search for
your programm or transaction and check the average execution time in the last days.
Or is more detail, the statistics monitor STAD, call it for the relevant user, then you can see the steps.
You should check what are the oldest available data (usually yesterday not much further back) for your BAPI, and copy them into a spreadsheet.
And compare with the newest data, there you can see response time, CPU time, DB and RFC time.
If the response time for the same step becoomes longer, then one of the others should become
slower to or all together.
From there you should know where to continue.
If all are becoming slower in the same way, then it might be something like a missing refresh so more
and more is processed, or some other kind of bottleneck (leak in memory).
You see there are a lot of options.
Siegfried
‎2009 Mar 24 11:36 AM
Thank you Siegfried, it's a bit difficult for me to understand all the information displayed at those transactions but I think your answer can help me the problem. I'm gonna work with it
‎2009 Mar 24 12:24 PM
start with the STAD, try to find the rows which are your process.
The only four columns are interesting, note that RFC is not displayed by default.
Siegfried