|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
High Memory Consumption WMB 8.0.0.1 |
« View previous topic :: View next topic » |
Author |
Message
|
khalednabil |
Posted: Tue Mar 26, 2013 8:27 am Post subject: High Memory Consumption WMB 8.0.0.1 |
|
|
Newbie
Joined: 07 Oct 2012 Posts: 6
|
Hi,
I am developing a flow using WMB 8.0.0.1, however I am experiencing a high memory consumption for this flow, below is the diagram of the flow
The memory of (DMF) process goes beyond 8G on the period of 5 days, restarting the EG release the resources, however it keeps on increasing with small amount with each transaction and it doesn't go down again, The total services response can be up to 5.5 MB
Quote: |
                                                           compute node3 -> SOAP request node -> compute node3.1
                                                         /
MQ Input -> Compute1 -> Compute2 -> compute node4 -> SOAP request node -> compute node4.1
                                                         \
                                                           compute node5 -> SOAP request node -> compute node5.1
                                                           \
                                                           MQ Output node |
Nodes Description:
Compute 1: Oracle datasource, retrieve value from database and store in environment
Compute 2: SQL server 2008 datasource, propagate the message to 4 propagation
Propagation 1: compute node3 (construct soap request), send to soap request node, and compute node 3.1 (store the response in the environment variable)
Propagation 2: compute node4 (construct soap request), send to soap request node, and compute node 4.1 (store the response in the environment variable)
Propagation 3: compute node5 (construct soap request), send to soap request node, and compute node 5.1 (store the response in the environment variable)
Prorogation 4: Computer 2 loops on the response of all three service, perform two calls to SQL server, and construct XML message and propagate to the output queue
Found these resources, but they are supposed to be fixed in 8.0.0.1
http://www-01.ibm.com/support/docview.wss?uid=swg1PM55115
http://www-01.ibm.com/support/docview.wss?rs=171&uid=swg1IC82402.
Any Suggestions ? |
|
Back to top |
|
 |
Esa |
Posted: Tue Mar 26, 2013 9:01 am Post subject: |
|
|
 Grand Master
Joined: 22 May 2008 Posts: 1387 Location: Finland
|
Yes. It seems to me that you may be parsing or reparsing the messages that you get from the SOAP Request nodes in one or more compute nodes placed after the SOAP Requests.
Then you transfer the payload of the relevant part of it back top Compute2 using either LocalEnvironment or Environment.
If my guess is right, the cause of your problem is that you assign a parser in one or more of the compute nodes x.1. The parser will get orphaned when the call returns from the compute node. A flow that accumutales orphaned parsers will act exactly like yours when it comes to memory allocation.
If you are parsing the message, in other words creating an XMLNSC parser somewhere and then cutting or copying part of the message tree to (Local)Environment, you need to propagate the message tree containing the parser from the compute node to release the parser. It's the only way to release the parser. Add a passthrough node after the compute node and propagate to it.
If you are parsing the message directly to LocalEnvironment, then do it this way instead:
- parse the message to OuputLocaEnvironment
- copy the parsed payload to InputLocalEnvironment (do not copy the parser!)
- propagate OutputLocalEnvironment to the passthrough node |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Mar 26, 2013 9:09 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Or create the parser in Environment in compute2... |
|
Back to top |
|
 |
Esa |
Posted: Tue Mar 26, 2013 9:11 am Post subject: |
|
|
 Grand Master
Joined: 22 May 2008 Posts: 1387 Location: Finland
|
Thanks, mqjeff. Thats the easier solution that I keep forgetting. The important thing to keep in mind is that the parser must be propagated to the MQOutput node when compute2 terminates. |
|
Back to top |
|
 |
adubya |
Posted: Tue Mar 26, 2013 9:40 am Post subject: |
|
|
Partisan
Joined: 25 Aug 2011 Posts: 377 Location: GU12, UK
|
Interesting thread, I was unaware of the potential to create orphaned parsers.
You learn something new everyday, thanks all  |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|