Search code examples
javaperformancegetibm-mqmq

How get greatest get throughput from MQ Queue


I am developing a java application to read data from remote IBM MQ queue and process data.

My queue receiving data with about 700-1200 TPS from MainFrame env.

I have 2 questions.

  1. There are 3 method to get data

    a) MQ Java library  
    b) JNDI  
    c) JMS  
    

    Which method is the fastest in reading data?

  2. How can I increase performance of reading the queue?

    a) Read single queue with multi thread get routines
    b) Distribute data to multiple queue and read them in parallel

    Generally: how can I improve the speed of reading data from queue?

Thanks for your advise.


Solution

  • JNDI does not provide any method to get messages from MQ queue/topic. JNDI is used for retrieving Connection and Destination configuration information from repository like LDAP or J2EE server.

    Apart from Java/JMS, MQ provides APIs in C/COBOL and other languages. Based on your skills, you can choose any of the languages to develop your application.

    I think it's good to start with performance reports published here. These reports talk about MQ performance under different scenarios and also talk about application architecture and configuration used.