cancel
Showing results for 
Search instead for 
Did you mean: 

messaging.connectionDefinition

Former Member
0 Kudos

Dear all ,

In our idoc to jdbc scenario. The receiver jdbc adapter is taking a long time to insert data into SQL by executing stored procedures.

I had one communication channel before and now I have created 3 more one for each interface. Hoping this improves performance. I also came across this parameter messaging.connectionDefinition

In our PI 7.1 system i know how to get to this property via config tool. I would like to know how to change this parameter and improve the performance.

I am also planning IDOC packaging from sender side (SAP) hoping it helps too.

Please advice.

Thanks,

Tersa

Accepted Solutions (1)

Accepted Solutions (1)

MichalKrawczyk
Active Contributor
0 Kudos

Hi Teresa,

>>>In our PI 7.1 system i know how to get to this property via config tool. I would like to know how to change this parameter and improve the performance.

either config tool or NWA (depending on the version)

for different adapters you can set it in a different way:

for example for JMS (quote from SAP PI performance check document)

(name=JMS_http://sap.com/xi/XI/System, messageListener=localejbs/AFWListener, exceptionListener=localejbs/AFWListener, pollInterval=60000, pollAttempts=60, Send.maxConsumers=7, Recv.maxConsumers=7, Call.maxConsumers=7, Rqst.maxConsumers=7)

this way you'd increase the number of threads this adapter can use (for sync and async, inbound and outbound)

in your case you only need to increase for outbound from PI and for async I assume

BTW

Please don't change pollInterval nor pollAttempts

Regards,

Michal Krawczyk

Former Member
0 Kudos

Thanks Michal. What will happen to the current 100,000 messages waiting to be inserted into SQL? They are all in the To be Delivered status and waiting . I did change the Parameter to 20 as mentioned below and created 3 communication channels and concurrency for each receiver channel is 20.

Thank you ,

Teresa

baskar_gopalakrishnan2
Active Contributor
0 Kudos

Teresa,

           The above configurations will help to add more threads for the jdbc adapter to handle multiple requests concurrently to improve the performance. So you would not seeing those messages waiting for so long. At the same time, if your table is not indexed and you deal with multiple volume of  inserts then just adding this configuration at PI level alone is not sufficient. You might also want to check with DBAs whether table is indexed for better performance.  Hope this helps.

Regards

Baskar

rajasekhar_reddy14
Active Contributor
0 Kudos

Nothing will happen, to be delivered status messages will be delivered to data base. even if the message status goes to system error resend.

Answers (1)

Answers (1)

rajasekhar_reddy14
Active Contributor
0 Kudos

Take help from Basis to set the Max receiver System Recv value to 20 and dont create multiple channels use max 2 channes for all JDBC receiver interfaces and high load scenarios set max concurrency 15 (after changing the parameter value to 20).

After basis set value to 20 then you can check change by refering below path

RWB--->Component monitoring--->-adpater engine--->engine status-->-additional data

Regards,

Raj

Former Member
0 Kudos

Thank you . I will do the above settings and let you know. I need to do IDOC packaging. If IDOC is sender then in the configuration wizard I cannot create a sender agreement. Do i have to create it explicitly and add the IDOC sender communication channel ?

Thanks,

Teresa

rajasekhar_reddy14
Active Contributor
0 Kudos

yes , you have to create sender agreemnets and Idoc sender channel with package size.