on 01-28-2013 11:46 PM
Hi,
Sent from SAP ERP data through a proxy to an Oracle DB, the data size is 20MB. It happens that on reaching the Receiver JDBC, the status is "Delivering" and stays for a long time. In other forums recommend configure channel parameters.
- Maximum Concurrency: 5
- poolWaitingTime: 90000
- Check "Disconnect from Database After Processing Each Message"
- Maximum Number of Threads: 500
For data size small is successful. As might optimize performance when processing large data?
Regards,
Friman.
Hi,
Thanks you all for your reply.
These links helped me a lot:
/community/pi-and-soa-middleware/blog/2012/12/14/decoding-max-concurrency-poolwaittime-driver-properties-in-jdbc-receiver-adapter-configuration
/community/pi-and-soa-middleware/blog/2011/01/26/tuning-the-pi-messaging-system-queues
Also optimize the stored procedure because in the DB INSERT takes a long time.
Regards,
Friman.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
Have you increased the JDBC_Receiver thread count in the Adapter engine ?
if not increase the same and check it out..
Also what is the processing time adapter thread is taking ?
Check if there are any other jdbc channels preventing the access to this jdbc channel thread..
As said already you can look out the options for multiple server nodes for performance improvement..
HTH
Rajesh
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
When it says "Delivering", does it ever time out and fail with an error message? I am just wondering what the state of the transaction is ending or if it still believes its making progress.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Friman,
Also carried out below steps..
1) Checked "Disconnect from Database After Processing Each Message" in channel's configuration
2) Cancel error messages in message monitoring
3) Kill all open connections
4) Execute the interface again
Regards,
Sunil M
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I personally think your message size is pretty larger and the steps you have followed above will be helpful for only some extent. You can split the message size into smaller and see how that helps. Increasing the performance requires various steps. You might increase the hardware spec, assign special queue for this interface. Take help from Basis. Finally, You might also consider using Stored Procedure which would help better in perfomance.
Hello,
Pass ur entire data in a form of XML string and let SP parse that XML string and perform DB operations.
It's one of the most efficient way when u are dealing with large message size messages, but i still think 20 MB is not very huge, anyway u can try using above approach and see the results
Thanks
Amit Srivastava
Hi Friman,
Try to go through the below blog (Total 6 Parts) carefully and enhance your target Database performance:
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Nabendu, thanks for your answer.
Interesting blog, thanks for sharing.
My problem is more in the Adapter Engine, as the delay is when the Channel Receiver processes the data passing status "delivering" and delayed too long time to process a 10MB file. Ideally, configure the JDBC Receiver Channel so you can process large messages as quickly as possible.
Regards,
Friman.
User | Count |
---|---|
86 | |
10 | |
10 | |
9 | |
6 | |
6 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.