jQuery in Action, 3rd edition
The moose likes Performance and the fly likes MQ Prorgamming with Java - Improving Performance Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Performance
Bookmark "MQ Prorgamming with Java - Improving Performance" Watch "MQ Prorgamming with Java - Improving Performance" New topic

MQ Prorgamming with Java - Improving Performance

Gabbar singh

Joined: Nov 23, 2007
Posts: 11
Hi - We are in the process of writing a Java component that would read from an MQ. This Q would get around 20K messages per hour. Our Java program needs to read this Q, parse the data and process it.

Are there any guidelines/ performance improving techniques while programming Java with MQ for Txns of this volume ? Any tips or pointers to sites containing MQ Java tuning techniques would be helpful. Thanks
Peter Chase
Ranch Hand

Joined: Oct 30, 2001
Posts: 1970
What's an "MQ"?

For that matter, while I can guess, what's a "Q" and a "Txn"?

You'll have a better chance of getting useful replies if you UseRealWords.

Betty Rubble? Well, I would go with Betty... but I'd be thinking of Wilma.
Sreejith Sreekumar

Joined: Feb 04, 2008
Posts: 2
Try IBM developerworks site. It woudl have the complete spec of the mq api. and also a couple of red books on performance. But dont expect too much. 20K mesages should be pretty fine..Keep doing memory profiling to fine tune.
Ben Souther

Joined: Dec 11, 2004
Posts: 13410

"kutts kutt",
Please check your private messages.

Java API J2EE API Servlet Spec JSP Spec How to ask a question... Simple Servlet Examples jsonf
William Brogden
Author and all-around good cowpoke

Joined: Mar 22, 2000
Posts: 13036
Assigning a separate Thread to each message read might be a good idea, that way any hold-ups in message processing would not cause a buildup of messages in the queue.

Raees Uzhunnan
Ranch Hand

Joined: Aug 15, 2002
Posts: 126
A queue send/receive model enables better parallelism; so you are in the right track. to scale the processing; simply increase the instances of the queue receiver. have 10-12 threads/ JVM and have 1-3 JVM.

In your case is you need to process 20,000 messages / hour i.e.
Per second processing 20,000/3600 = 6
suppose your processing per transaction takes 1 second; all you need is 6 threads and one JMV. But in reality based on complexity of your message you should be taking less than one sec.

Sun Certified Enterprise Architect
Java Technology Blog
I agree. Here's the link: http://aspose.com/file-tools
subject: MQ Prorgamming with Java - Improving Performance
It's not a secret anymore!