cancel
Showing results for 
Search instead for 
Did you mean: 

Design high volume IDoc Interface

Former Member
0 Kudos

Hi Experts,

I am using SAP PI 7.31 SP 11 to build following Scenario.

This is a high volume interface and numbers can go up to 200,000 IDocs in a day. This is a custom IDoc generate by a program executed by a batch job running at a periodic interval of 6 hrs.

While we are designing this interface, I am bit worried about the performance impact of this interface. So after referring couple of blogs regarding performance optimisation and system tuning I have finalised following system parameters to be configured.

  1. Increase no of IDoc threads to 15 per node (we have 4 server nodes which makes 15*4 = 60 parallel connections): This is because for ICO’s complete message processing happens in sender queue.
  2. Set maxReceivers & queueParallelism parameters (as per OSS notes: 1493502 & 1916598 )
    • queueParallelism.maxReceivers= 10
    • messaging.system.queueParallelism.queueTypes= Recv, IcoAsync
    • messaging.system.queueParallelism.perInterface= true

Now my questions are:

  1. Are there any other parameters in PI System which I should consider?
  2. Should we consider the option of controlling Max no. of IDocs sent from ECC and distribute the load over day ? e.g. say 100,000 IDocs are generated in ECC, but we release only 5000 messages every hour so that it gives a breather to PI System, before second lot is sent. Or PI Dispatcher queue should be able to handle the load of 100,000 message.

Looking forward to your response.

Regards

Vj

Accepted Solutions (0)

Answers (2)

Answers (2)

markangelo_dihiansan
Active Contributor
0 Kudos

Hi Vishal,


Now my questions are:

  1. Are there any other parameters in PI System which I should consider?
  2. Should we consider the option of controlling Max no. of IDocs sent from ECC and distribute the load over day ? e.g. say 100,000 IDocs are generated in ECC, but we release only 5000 messages every hour so that it gives a breather to PI System, before second lot is sent. Or PI Dispatcher queue should be able to handle the load of 100,000 message.

You should be working with Basis with these kind of things. They should be able to guide you more.

Regarding question 1, how many messages can the receiving system handle? Even if the PI system can handle the surge, the receiving system may not and it can be overwhelmed.

How about the message size? SAP recommends between 1 to 5MB. Remember that a message coming into PI gets transformed into a PI-SOAP message with all the traces, etc. Smaller but too many messages cause a lot of overhead in the system, meaning the size of the PI-SOAP message is significantly larger. See example below (also applicable for single stack systems):

Reducing system trace will improve performance.

How about the other interfaces running in prod? Capacity testing should be done too.

Regards,

Mark

apu_das2
Active Contributor
0 Kudos

Hi Visal,

You can use collect IDOC checkbox in Sender IDOC_AAE channel and define no of idocs you CC will collect and process at a time.

Using this you can pass no of idocs as you wish but more idocs you will collect, the payload size will increase. You have to choose optimal no of idoc collection that can give you max throughput. Sending single idoc will increase the no of messages in PI and will not give you max throughput . I you can remember to avoid this we were using concept of packaging in dual stack system.

Thanks,

Apu