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
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.
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.