- How many JDBC receiver channels required?
- Maximum concurrency.
- Pool Wait time.
- How to increase the JDBC thread count.
- Additional Parameters configuration in JDBC receiver adapter:
a ) Creating an individual channel for every JDBC receiver interface.
b) Creating one JDBC receiver channel for all interfaces.
If you are using only one channel for all JDBC receiver interfaces then better to set Max Concurrency value to 4 (max 5),if multiple channels used in JDBC receiver scenario then better to set maxconcurrency value to 2,even if we use maximum concurrency value greater than 5 then it is not going to help to perform parllel connections greter than 5.
3) Pool Wait time:
Poolwait time configuration plays very important role while dealing with high volume scenarios, while JDBC channel negotiating a connection to process a message,poolWaitingTime is the amount of time( in milli seconds) the JDBC receiver channel waits for a free connection when all the parallel connections are being used.
- com.sap.engine.interfaces.messaging.api.exception.MessagingException:Channel has reached maximum concurrency (5,000 concurrent messages) and no free resource found within 5,000 milliseconds; increase the maximum concurrency level.
4. How to increase the JDBC thread count:
We need to add below property value in NWA to increase JDBC receiver adapter thread count.
pollInterval=60000, pollAttempts=60, Send.maxConsumers=5, Recv.maxConsumers=20,
Refer below wonderful blog, it explained clearly .
Recently I worked on High volume JDBC receiver scenarios, every quarter first week we perform more than 5 million operations on DB, performance was improved significantly after setting value to 20.
5) Additional Parameters configuration in JDBC receiver adapter:
When JDBC adapter performs a operation on Data base system it forms a SQL statement,to view complete SQL statement to logSQLStatement value to true, it enables more logging details in JDBC channel Audit log.
Sometimes JDBC adapter takes long time to establish a connection to data base, JDBC adapter takes very long time to execute a statement and Sometimes call made to Driver will hang permanently.Setting below parameter would resolve above issues,ReadTimeOut/Connect_time out value in milli seconds. Sqlquerytimeout in seconds.
Using batch mode improves performance and if you want to collects SQL statements in batch then use batch mode.Batch mode is not supported for SELECT, UPDATE_INSERT,EXECUTE and SQL_QUERY statements.
SAP Note 1136474, 1604091 and 1078420.