|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Performance hit using Pub/Sub for event messages vs. Dispatc |
« View previous topic :: View next topic » |
Author |
Message
|
aspre1b |
Posted: Mon Sep 22, 2008 12:51 am Post subject: Performance hit using Pub/Sub for event messages vs. Dispatc |
|
|
 Voyager
Joined: 05 Jul 2007 Posts: 78 Location: Coventry, UK
|
I'm producing a new flow that will process event messages from System A, ultimately destined for System B. There is a small chance (although unlikely) that the event messages could be utilised by System C in the future.
To provide the maximum flexibility I wish to put the event messages through the pub/sub engine of the broker. My only concern is the number of event msgs that may have to be processed, and the overhead the pub/sub engine adds over a simple dispatcher model.
I did some prototyping with 20k msgs and put these to:
1. an event dispatcher that eventually published the msg, a queue serviced by System B subscribed to the topic.
2. an event dispatcher that put to a queue serviced by System B
Pub / Sub of 20k messages - 1k to one topic, 19k to another topic.
Run 1 - 1min 29s
Run 2 - 1min 30s
Run 3 - 1min 33s
Putting to a queue directly - 20k messages - 1k to one queue, 19k to another queue.
Run 1 - 1min 11s
Run 2 - 1min 11s
Run 3 - 1min 13s
Using the Windows performance tool, I tested the CPU, I/O and memory utilisation during the time when the event messages were being distributed via the Pub/Sub engine and directly to a local queue. Apart from the time, the results were very much the same:
CPU ran at 100% for the period of when the messages were being distributed.
Memory averaged around 30% for both tests.
File I/O showed occasional spikes, but mainly ranged between 20% and 30% for both tests.
NB:It took between 36 and 41 seconds to load the input queue
Is there anything else I should consider before going down the pub/sub route? If this performance question has been addressed before, my apologises, but I couldn't find it.
MQ Version 5 CSD 11
Broker 5 CSD 8 (AIX in production) |
|
Back to top |
|
 |
zpat |
Posted: Mon Sep 22, 2008 1:20 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Adding an additional MQOutput node to the flow would take a few seconds of development effort at a later date.
So using pub/sub gives you run-time flexibility at a performance overhead.
Do you really need that flexibility over a simple flow change later? |
|
Back to top |
|
 |
aspre1b |
Posted: Mon Sep 22, 2008 1:49 am Post subject: |
|
|
 Voyager
Joined: 05 Jul 2007 Posts: 78 Location: Coventry, UK
|
I understand that there is a performance overhead with using the Pub/Sub engine, I just want to understand how much of a performance hit I would get. I can cope with a 30% overhead, but I want to understand if it will always be around 30%.
I know it would only be a small change in the future to add system C via an MQOutput node, but I would prefer not to redeploy the code if I can avoid it. |
|
Back to top |
|
 |
aspre1b |
Posted: Mon Sep 22, 2008 2:09 am Post subject: |
|
|
 Voyager
Joined: 05 Jul 2007 Posts: 78 Location: Coventry, UK
|
|
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
|
|
|
|