on 10-01-2012 3:49 PM
Hello PI Experts,
Need your opinion on a performance issue on an ABAP Proxy Call.
We had some performance issues and we turned on the message logging in the ABAP system where the provider proxy executes.
We see in the performance header that there is a time delay between the integration_engine step and the next step plsrv_call_inbound_proxy.
Could you throw some light on this why we see this delay?
Would increasing the value of EO_INBOUND_PARALLEL in the provider ABAP system help? Currently this is not set.
Thank you for your help, in advance.
Regards,
Salai.
<SAP:Name type="ADAPTER_IN">INTEGRATION_ENGINE_HTTP_ENTRY</SAP:Name>
<SAP:Timestamp type="end" host="cpfcat01">20120927163646.316619</SAP:Timestamp>
</SAP:RunTimeItem>
<SAP:RunTimeItem>
<SAP:Name type="CORE">INTEGRATION_ENGINE</SAP:Name>
<SAP:Timestamp type="begin" host="cpfcat01">20120927163646.317758</SAP:Timestamp>
</SAP:RunTimeItem>
<SAP:RunTimeItem>
<SAP:Name type="CORE">INTEGRATION_ENGINE</SAP:Name>
<SAP:Timestamp type="end" host="cpfcat01">20120927163646.322347</SAP:Timestamp>
</SAP:RunTimeItem>
<SAP:RunTimeItem>
<SAP:Name type="PLSRV">PLSRV_CALL_INBOUND_PROXY</SAP:Name>
<SAP:Timestamp type="begin" host="cpfcat01">20120927163646.834608</SAP:Timestamp>
</SAP:RunTimeItem>
<SAP:RunTimeItem>
<SAP:Name type="PROXY_IN">PROXY_INBOUND_METHOD</SAP:Name>
<SAP:Timestamp type="begin" host="cpfcat01">20120927163646.837326</SAP:Timestamp>
Dear Salai,
from your description I understand that you are running a synchronous scenario. After setting end timestanp for the core engine ('INTEGRATION_ENGINE') and before setting the begin timestamp of last pipeline service ('PLSRV_CALL_INBOUND_PROXY') there shall be only one action that might cause such delays. This action is the persist step which is carried out in case you have activated logging of synchronous messsages (transaction SXMB_ADMIN -> Integration Engine -> Configuration -> Integration Engine Configuration, category=RUNTIME, parameter LOGGING_SYNC).
For the purpose of verification you might want to create a SQL trace in ST05. In the trace identify the period of time between timestamps 'INTEGRATION_ENGINE' and 'PLSRV_CALL_INBOUND_PROXY'. I am pretty sure that most of the time will be consumed by write accesses to PI persistence layer. Her the first access shall insert a record to SXMSPHIST for duplicate detection and the last access will add the payload to SXMSCLUR (or SXMSCLUR2 in case you use the switch deletion procedure and the secondary data container is active).
In general, logging of synchronous messages should be turned off in productive environments for performance reasons. Please note that synchronous messages in error status will still be written to database. Additionally you can check performance data of successfully processed synchronous messages even if these message are not written to database. For this purpose you might want to enable performance data colleaction as per SAP Note 820622.
Best regards,
Harald Keimer
SAP AG, Walldorf
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks a lot Harald.
Yes you are right. We have the logging turned on in our performance testing environment, and we also have issues with these 2 tables growing rapidly (SXMSPHIST & SXMSCLUR(2)). We have also noticed certain spikes in the database connections in the PI and ABAP systems.
We'll continue to investigate in that direction.
Appreciate your help and sharing this.
Regards,
Salai.
it looks time delay is milli seconds, is really major concern? what is the size of XML ?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Raja,
The time delay is 0.5 seconds. And this is only a representation. Sometimes it is higher. Our interfaces is time sensitive and the source system times out after 3 seconds. Off this 3 seconds, we have to also factor SSl, load balancer, network, DNS lookup, PI mapping time etc.
So considering that, the 0.5 s is very significant. The message size is 5 KB
Salai.
Hi Salai,
The time delay may happen, because of the below reasons:
1. Server load
2. how mant tables that u are trying to update.
3. mapping logic
4. Depends upon the message (might be huge)
5. Might be some wait steps in Proxy program.
Mostly with these reasons there would be a delay in message processing to target ABAP proxy program.
Hi Salai,
The time delay may happen, because of the below reasons:
1. Server load
2. how many tables that u are trying to update.
3. mapping logic
4. Depends upon the message (might be huge)
5. Might be some wait steps in Proxy program.
Mostly with these reasons there would be a delay in message processing to target ABAP proxy program.
Hi Hanumantha
The delay is not IN a step, but between steps.
1. Server load
- there was server load, yes. but we want to know how to improve overall performance and concurrency.
2. how many tables that u are trying to update.
- this is only a read data function. anyhow, the delay is not in the proxy method execution but before that.
3. mapping logic
- There is no mapping logic here. This trace is from the provider system
4. Depends upon the message (might be huge)
Only 5 KB
5. Might be some wait steps in Proxy program.
No, there are none,. Its a simple wait
Regards,
Salai.
If you feel like there is Server load, first of all find the reason why is causing more load on Server.
If you are able to find, then you could fine tune the interfaces.
I dont think even you increase the value of EO_INBOUND_PARALLEL, this comes into picture when you are running huge records/messages.
Check with your BASIS team/ PI admin to find out the load on the server.
As far as per my experience, there would be some milli seconds difference between Integration engine and inbound proxy call.
Hanumantha,
If you feel like there is Server load, first of all find the reason why is causing more load on Server.
If you are able to find, then you could fine tune the interfaces.
the load is due to increased business activity. Our servers dont have much CPU or memory being utilized. So, we are trying to tune the PI settings.
We have made many changes, but we see some delays between steps, and would like to know why.
As far as per my experience, there would be some milli seconds difference between Integration engine and inbound proxy call.
Milliseconds is ok. But unfortunately we have half a second. How do we reduce this delay?
Salai.
Hi Salai,
what was the load on the server during that perticular time?Some times this happens due to high load on the server.
Rgds,
Naveen.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
95 | |
11 | |
11 | |
10 | |
9 | |
8 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.