cancel
Showing results for 
Search instead for 
Did you mean: 

Many receiver JDBC communication channels vs one

Former Member
0 Kudos

Hi guys,

I have to develop 50 Proxy to JDBC Interfaces. The interfaces are going to be similar to each other at the JDBC side.

That means that one communication channel as a receiver JDBC adapter can do the job, but I am thinking of using a different one for each scenario, i.e. 50 different JDBC receiver communication channels, because I think that I will have better monitoring, tracking for each scenario, error-handling and analysis as well as cleaner development. Also, in terms of performance I think that it is better to have 50 channels instead of 1 that will be shared across the 50 scenarios.

Do you agree or disagree ?

Thank you.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Let's take an example of File to IDOC. In this case we never create many receiver IDOC communication channels, we just reuse the IDOC CC and we never face any kind of performance of monitoring issue. Similarly if you create only one receiver JDBC CC then I think it will act similar to IDOC one.

So in my opinion you can create just one receiver CC for this.

Regards,

Sarvesh

Answers (2)

Answers (2)

former_member200962
Active Contributor
0 Kudos
Also, in terms of performance I think that it is better to have 50 channels instead of 1 that will be shared across the 50 
scenarios.

Performance-wise i wont suggest this appproach.....neither when it comes to re-usability concept (basic of SOA)

I would definitely not like 50 different channels to run on my XI server....all doing the same job...we may not want to increase the server load.

Regards,

Abhishek.

prateek
Active Contributor
0 Kudos

>>because I think that I will have better monitoring, tracking for each scenario, error-handling and analysis

Not really. All the scenarios would be using the same database. So there is no point in using multiple channels connecting to the same database. Because during monitoring, all the channels would be showing the same results.

>>as well as cleaner development

Unnecessary development objects doesn't add to cleaner development.

>>in terms of performance I think that it is better to have 50 channels instead of 1 that will be shared across the 50 scenarios.

Incorrect. There won't be any improvements in the performance. The adapter specific performance depends upon the adapter queues and queue parallelism.

Based on my experience, these are the things that could be used to improve JDBC performance

1. You may increase the thread count for JDBC related queues. This has to be done in accordance with SAP Note 1084161.

2. There is parameter in JDBC communication channel called Maximum Concurrency. It signifies that one communication channel can make how many connections to database. This is 1 by default and could be increased to some values like 3-4.

3. In the Visual Admin/ NWA, there is a parameter called as queueParallelism.maxReceivers which defines the number of parallel worker threads for one receiver channel instance. This should be done following SAP Note 1136790. This can be done along with the first point.

Regards,

Prateek