ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Interface Performance

Post new topic  Reply to topic
 Interface Performance « View previous topic :: View next topic » 
Author Message
timclark
PostPosted: Mon Sep 23, 2013 10:11 am    Post subject: Interface Performance Reply with quote

Newbie

Joined: 19 Sep 2013
Posts: 4

Hi, I am fairly new to Message Broker/Integration Bus and looking for some best practices or recommendations around emitting data from a message flow for consumption by another Broker based application with regard to performance. I see three possibilities:
1. Explicit write to a queue that represents the interface to the second application
2. Publish/Subscribe using the Publication built-in node to target queue through subscription destination
3. Built-in monitoring events for a selected node to target queue through subscription destination
4. Something else?

Assuming the messages to the queue will not be persistent and the data would be written outside the transaction, what are the performance implications for each approach?
I might assume that #2 & #3 might result in more overall CPU utilization but do those interfaces get more of the processing out of the message flow critical path? Since this is intended to a high-performance, high volume application, will one provide better message through-put over the others for the primary flow?

Thanks in advance for any insight.
Back to top
View user's profile Send private message
lancelotlinc
PostPosted: Mon Sep 23, 2013 10:16 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

Hi Tim -welcome.

IMHO The most efficient way to transfer a reasonable amount of data transactionally is through Web Services (unless the destination is running in the same site, in which case GlobalCache may be faster). The next most efficient is via queues. Pub/sub is less efficient unless you have many destinations.

In any event, unless you are doing more than 10,000 transactions per second, you won't have to worry about CPU utilization.

Lance
_________________
http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER
Back to top
View user's profile Send private message Send e-mail
smdavies99
PostPosted: Mon Sep 23, 2013 11:22 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

Quote:
IMHO The most efficient way to transfer a reasonable amount of data transactionally is through Web Services

Apart from the fact that the OP has not mentioned transactionality, I can't imagine that SOAP will be faster than MQ for passing data between flows.

In my experience SOAP is slow when compared to MQ especially if you don't use persistent messages.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
lancelotlinc
PostPosted: Mon Sep 23, 2013 11:35 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

@smdavies I didn't say 'SOAP', I said Web Services, which can also include HttpRequest node with no SOAP marshaling.
_________________
http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER
Back to top
View user's profile Send private message Send e-mail
mqjeff
PostPosted: Mon Sep 23, 2013 12:17 pm    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Why not simply gather accounting and statistics?
Back to top
View user's profile Send private message
kimbert
PostPosted: Tue Sep 24, 2013 12:33 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

3. would be a little perverse. Monitoring events publish information to monitoring applications and transaction monitoring systems. They are not intended to be used to carry the primary output of the message flow.
_________________
Before you criticize someone, walk a mile in their shoes. That way you're a mile away, and you have their shoes too.
Back to top
View user's profile Send private message
timclark
PostPosted: Tue Sep 24, 2013 8:58 am    Post subject: Reply with quote

Newbie

Joined: 19 Sep 2013
Posts: 4

Thanks for the responses so far...

I tried to avoid characterizing the secondary application as a monitoring system in order to focus on the mechanics of getting the data from one place to another with as little impact as possible on the primary flow. But, that is essentially what it is, the primary flow will be able to detect 'events' that the secondary flow would be interested in and would need to get details and data from that event to the secondary flow that would be processed independently and asynchronously (one way).
I guess I was trying to understand if any one of those approaches caused Message Broker/Integration Bus to offload some of those mechanics on a parallel thread that would provide the best though-put. Each of the options I outlined offers us different advantages in terms of development, flexibility and maintenance and I wanted to add this performance element to help us decide the best approach for our situation...or am I unnecessarily splitting hairs on a system that will likely be less than 10k trans/sec with message sizes less than 64k?

Any thoughts?
Back to top
View user's profile Send private message
lancelotlinc
PostPosted: Tue Sep 24, 2013 9:02 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

Seems like your trying to reinvent the wheel. WMB produces its own statistics. Why not use those ?

http://publib.boulder.ibm.com/infocenter/wmbhelp/v8r0m0/index.jsp?topic=%2Fcom.ibm.etools.mft.doc%2Fbj10420_.htm

You can subscribe to WMB's in-built metrics publications and consume them through a message flow if thats what you want.

Why custom build a solution when one is already provided for you internally ? You will never get faster than the in-built solution.
_________________
http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER
Back to top
View user's profile Send private message Send e-mail
timclark
PostPosted: Tue Sep 24, 2013 11:51 am    Post subject: Reply with quote

Newbie

Joined: 19 Sep 2013
Posts: 4

I am not after statistics, these are events specific to our primary application and can contain large amounts of data directed to our secondary applications.

Thanks!
Back to top
View user's profile Send private message
kimbert
PostPosted: Wed Sep 25, 2013 12:43 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

OK - that changes things then. You are trying to emit lightweight messages to a 'monitoring' application ( or at least, an application that has requirements very similar to those of a monitoring application ).

In that case, 3. is the best option. You can ask for the monitoring events to be emitted outside of the main transaction if you want them to be received regardless of whether the main transaction succeeded.
_________________
Before you criticize someone, walk a mile in their shoes. That way you're a mile away, and you have their shoes too.
Back to top
View user's profile Send private message
timclark
PostPosted: Wed Sep 25, 2013 3:58 am    Post subject: Reply with quote

Newbie

Joined: 19 Sep 2013
Posts: 4

Is there a rule of thumb about a practical limit to the amount of data pushed out through a monitoring event? It looks like the base WMB Event message is around 1KB. How much more data can be reasonably added?
Back to top
View user's profile Send private message
kimbert
PostPosted: Wed Sep 25, 2013 4:06 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Not really - it depends on your requirements. I've seen huge amounts of data put into 'monitoring' messages when they're used for transaction monitoring/auditing.
I think it would be worth supplying a few more details, so that we can give more specific advice.
_________________
Before you criticize someone, walk a mile in their shoes. That way you're a mile away, and you have their shoes too.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Interface Performance
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.