on 04-24-2012 12:55 PM
Hello Experts,
I am facing one strange issue in production environment.In message monitoring i am seeing that all my inbound interfaces which inserts data in to the database are in scheduled state .Please see the attached file for the same
This issue is happening very frequently after restarting of Java stack all the messages are going in to successfully
I am not understanding why this issue is happening any upgrades need to be done to solve this permanently please suggest.
Any help is highly appreciated.
Regards
Praveen
Message was edited by: Praveen Reddy
Hi Praveen,
I recommend you that you see this document http://scn.sap.com/docs/DOC-11909 about "Analyzing Performance Issues and Possible Solution Strategies"
May be you could research abouit Parallelization of PI qRFC Queues
Regards
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Praveen,
It is not possible to modify the messaging.connectionDefinition parameter in the NWA (it has status non-Modifiable).
Details on how to start the Config Tool are at this link.
To start the Config Tool, double click the configtool script file from <SAP_install_dir>/<system_name>/<instance_name>/j2ee/configtool directory.
Regards
Mark
Hi Praveen,
This is possibly caused because there are not enough resources available to process the volume of messages.
Use note #1662269 How to Monitor the PI Adapter Framework queues, to check if there are any backlogs in the Adapter queues (I assume it is the JDBC adapter that you are using in this scenario?).
How many queues/threads are available to the JDBC connections? You may need to increase these to handle the volume of messages you are processing.
Check these blogs:
Regards
Mark
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Mark,
I have checked in Engine status--->Additional Data i am seeing for
Queue Names
JDBC_http://sap.com/xi/XI/SystemCall
JDBC_http://sap.com/xi/XI/SystemRecv
JDBC_http://sap.com/xi/XI/SystemRqst
JDBC_http://sap.com/xi/XI/SystemSend
Maximum number of threads or 5
should i increase this value i am not getting how to increase.
Regards
Praveen
Hi Praveen,
Ok, so each of the JDBC connections have 5 threads configured. This is the default value. As a first step, I would recommend increasing this to 10. If you are unsure which connection type (e.g. SystemRecv) the blockage is occuring in, it would be ok to increase all to 10. But best if you can identify on which queue has the blockage and then increase the value of that queue only.
How to increase the number of threads/queues available to these JDBC connections is documented in the blog - http://scn.sap.com/community/pi-and-soa-middleware/blog/2007/08/20/messaging-system-queue-properties...
In brief, what you need to do is:
Go to the Config Tool
-> server
-> services
-> com.sap.aii.af.svc
-> messaging.connectionDefinition
-> then append the JDBC entry onto the existing configuration (check the blog for exactly how this is done) e.g.
(name=JDBC_http://sap.com/xi/XI/System, messageListener=localejbs/AFWListener, exceptionListener=localejbs/AFWListener, pollInterval=60000, pollAttempts=60, Send.maxConsumers=10, Recv.maxConsumers=10, Call.maxConsumers=10, Rqst.maxConsumers=10)
As this issue is occuring in your PRD environment, I would recommend that you test out this configuration change on a Dev or QA box before implementing in PRD. This should help avoid any mistakes on the PRD box.
Regards
Mark
Since you have 60 receiver interfaces , messages are in scheduled state due to unavailability of sufficient jdbc connections to handle during runtime. In your jdbc receiver adapter,
a) You can increase the "Maximum Concurrency" Value to more. Say 10 or so.
b) Select the option: Disconnect from Database after each message processing.
Plus you might want to check /monitor the queues as Mark pointed on the above reply and decide the Maximum Concurrency parameter setting value based on the volume of interfaces.
Hi,
I am using UPDATE_INSERT operation actually now all the interfaces are in PROD it is bit difficult to change all the interfaces to STOREDPROC
If i follow below options
a) You can increase the "Maximum Concurrency" Value to more. Say 10 or so.
b) Select the option: Disconnect from Database after each message processing.
will it affect any other things ? Please suggest me.
Regards
Praveen
User | Count |
---|---|
81 | |
10 | |
10 | |
9 | |
6 | |
6 | |
5 | |
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.