|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
|
|
Parallel processing + 2 MQ Input Nodes +additional Instance |
« View previous topic :: View next topic » |
Additional Instances with multiple Input Nodes is tricky :) |
Yes |
|
33% |
[ 1 ] |
No |
|
33% |
[ 1 ] |
I don't care :) |
|
33% |
[ 1 ] |
|
Total Votes : 3 |
|
Author |
Message
|
mehta10987 |
Posted: Thu Aug 13, 2020 7:05 pm Post subject: Parallel processing + 2 MQ Input Nodes +additional Instance |
|
|
Novice
Joined: 12 Oct 2019 Posts: 13 Location: USA
|
Hello GrandMasters,
looking for clarification with one of the scenario.
I have a Message Flow with two MQ Input Nodes.
MQ Input Node1: is listening to Queue1
MQ Input Node2: is listening to Queue2
If I create 10 additional Flow level Instances, How many messages can be picked at once by this flow?
|
|
Back to top |
|
|
abhi_thri |
Posted: Sat Aug 15, 2020 8:08 am Post subject: |
|
|
Knight
Joined: 17 Jul 2017 Posts: 516 Location: UK
|
hi...it depends on which input thread gets initialized first and on the queue depths, it is covered at the below info center topic.
https://www.ibm.com/support/knowledgecenter/SSMKHH_10.0.0/com.ibm.scenarios.doc/Subflows/topics/scnsubflows_01_28_.htm
Also see the ibm feedback my esteemed colleague had added there,
When additional instances are set at the flow level, they are shared between the input nodes in the message flow. This does not mean that the extra threads will freely swap between input nodes, but rather that the additional threads will be spawned where needed. This can lead to "thread starvation", where one very active input "consumes" the available thread pool, which effectively "starves" the other input of available additional threads.
When additional instances are set at the flow level and when you set the property - Start additional instances when flow starts, when the message flow is started, the first input node to get initialized would start all the additional instances - because Input node's thread pool is associated with the message flow pool (the default config of Input node). When the second or subsequent input nodes get initialized, they would find that the required no. of additional threads are already started at the flow pool level, they would not separately start any new additional threads. This is an expected behaviour.
If you are looking to ensure thread availability for multiple inputs in a deterministic manner, we recommend either setting additional instances at the node level, or separating in the inputs into separate flows. That would avoid the thread starvation kind of situation if the instances were defined at the flow level where one of the Input nodes can take away a large no. of threads. |
|
Back to top |
|
|
rekarm01 |
Posted: Mon Aug 17, 2020 10:08 am Post subject: Re: Parallel processing + 2 MQ Input Nodes +additional Insta |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 1415
|
mehta10987 wrote: |
If I create 10 additional Flow level Instances, How many messages can be picked at once by this flow? |
Twelve. One for Node1, one for Node 2, and ten additional instances.
No matter how the execution group allocates the additional instances among the nodes, there would never be more than twelve total instances. |
|
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
|
|
|
|