Author |
Message
|
WBI_developer |
Posted: Mon Jul 09, 2007 4:37 pm Post subject: Aggregate nodes performance |
|
|
 Apprentice
Joined: 02 Jun 2004 Posts: 25
|
Hello All,
I am running into a strange problem. I am working on Aggregate nodes POC and their usability in our project. As part of the POC I am comparing the performance of Aggregate nodes with regular flows in a MQ request-reply scenario.
As part of the regular flows I have created separate flows for request and response parts which are independent of each other. The functionality, ESQL and number of nodes are the same in both types of flows i.e. those using aggregate nodes and those which have regular nodes except the extra aggregate nodes.
When the performance of each flow was compared with a similar message the performance of the flow with aggregate nodes seems to be better than regular flows. I was assuming the the flows having aggregate nodes to have lesser performance as they have an extra overhead of putting request and control messages in queues and finding whether the message has timed out and so on. Can anybody explain this anamoly.
All flows were run on windows XP on Broker V6.0.3. The aggregate nodes were configured to use queues and additional instances are all set to zero.
Thank you for your help. |
|
Back to top |
|
 |
wbi_telecom |
Posted: Mon Jul 09, 2007 4:56 pm Post subject: |
|
|
 Disciple
Joined: 15 Feb 2006 Posts: 188 Location: Harrisburg, PA
|
Another option with WBI 6.0 is use of MQGet node in request reply. I personally think that using aggregate nodes to achieve only request and reply is bit of an overkill. The aggregate nodes are used when there is aggrgation of information i.e. one request message (or parts of single request message) are sent to different systems and the replies of those are aggrgated to form the output message. If you need to send a single request and get a reply back you can use MQGet node is your flow for better performance.
Cheers, |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Jul 09, 2007 7:13 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
wbi_telecom wrote: |
Another option with WBI 6.0 is use of MQGet node in request reply. I personally think that using aggregate nodes to achieve only request and reply is bit of an overkill. The aggregate nodes are used when there is aggrgation of information i.e. one request message (or parts of single request message) are sent to different systems and the replies of those are aggrgated to form the output message. If you need to send a single request and get a reply back you can use MQGet node is your flow for better performance.
Cheers, |
There is however one part where the aggregate node can do functionality that the MQget node in the request / reply model is not geared for:
When you want to do alternate processing on timed out reply messages...
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
au@kosa |
Posted: Tue Jul 10, 2007 5:38 am Post subject: |
|
|
 Centurion
Joined: 04 Jan 2007 Posts: 103 Location: pune
|
i think we can still do a time out processing in MQget node through by setting Wait interval (serve as timeout value for a request response case)and having a alternate processing at no message terminal of mqget node. Please correct if i am wrong. _________________ Regards,
au@kosa
IBM Certified SOA Solution Designer/Associate |
|
Back to top |
|
 |
WBI_developer |
Posted: Tue Jul 10, 2007 5:40 am Post subject: |
|
|
 Apprentice
Joined: 02 Jun 2004 Posts: 25
|
Thank You for all inputs. I agree that it is an overkill to use aggregate nodes and I wanted to find out how much of an overkill it is to use the aggregate nodes and tested their performance. To my surprise the aggregate nodes performance seems to be better than regular flows. Can you point me in the right direction as to why this is happenening. |
|
Back to top |
|
 |
au@kosa |
Posted: Tue Jul 10, 2007 5:46 am Post subject: |
|
|
 Centurion
Joined: 04 Jan 2007 Posts: 103 Location: pune
|
The reason is Aggregate control node does a parallel processing of all connections to its out terminal. Each connection is executed in a separate thread. Order of execution at output of aggragation control node is decided in a random fashion. _________________ Regards,
au@kosa
IBM Certified SOA Solution Designer/Associate |
|
Back to top |
|
 |
WBI_developer |
Posted: Tue Jul 10, 2007 6:17 am Post subject: |
|
|
 Apprentice
Joined: 02 Jun 2004 Posts: 25
|
Thank You au@kosa. However, in my POC I have only one connection to the out terminal of the Aggregate Control node. Does Aggregate Reply node execute in multithreaded fashion? |
|
Back to top |
|
 |
au@kosa |
Posted: Tue Jul 10, 2007 7:01 am Post subject: |
|
|
 Centurion
Joined: 04 Jan 2007 Posts: 103 Location: pune
|
Yes, it launches a separate thread for each connection to the Aggr Control Node. For more detail on aggregation nodes, pls check on the infocenter _________________ Regards,
au@kosa
IBM Certified SOA Solution Designer/Associate |
|
Back to top |
|
 |
wbi_telecom |
Posted: Tue Jul 10, 2007 7:14 am Post subject: |
|
|
 Disciple
Joined: 15 Feb 2006 Posts: 188 Location: Harrisburg, PA
|
How did you measure the performance of the message flows? Did you use a monitoring product and placed the nodes in your message flow? If your request and reply are 2 separate flows how did you measure the times for those?
Cheers, |
|
Back to top |
|
 |
WBI_developer |
Posted: Tue Jul 10, 2007 8:37 am Post subject: |
|
|
 Apprentice
Joined: 02 Jun 2004 Posts: 25
|
I used rfhutil performance tools. I measured the throughput of the rount-trip time. I had a mqtimes2.exe listening to the queue where the response flows are putting messages. |
|
Back to top |
|
 |
wbi_telecom |
Posted: Tue Jul 10, 2007 9:07 am Post subject: |
|
|
 Disciple
Joined: 15 Feb 2006 Posts: 188 Location: Harrisburg, PA
|
au_Kosa,
You can do the timeout processing using MQGet node (using No Message terminal) but you cannot do processing of reply messages that are timed out.
i.e. You set a timeout of 1 second in MQGet and reply arrives on the queue after 1 second. You will be able to send out a Timeout message using the No message terminal, however the reply message that's arrived late will still be sitting in the queue (to which MQGet is listening) unless its set to Expire.
FJ,
Will these replies go to Unknown terminal in case of aggrgate nodes?
Cheers, |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Jul 10, 2007 2:59 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Yep, they should go to the unknown terminal.
This will be the input message as sent by the service and it will not be in any kind of aggregate folder...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|