如何从 MQ 队列中获得最大的吞吐量

How get greatest get throughput from MQ Queue

我正在开发一个 java 应用程序来从远程 IBM MQ 队列读取数据并处理数据。

我的队列从 MainFrame 环境中以大约 700-1200 TPS 的速度接收数据。

我有两个问题。

  1. 获取数据的方法有3种

    a) MQ Java library  
    b) JNDI  
    c) JMS  
    

    哪种方式读取数据最快?

  2. 如何提高读取队列的性能?

    a) 使用多线程获取例程读取单个队列
    b) 将数据分发到多个队列并并行读取

    一般:如何提高从队列中读取数据的速度?

感谢您的建议。

JNDI 不提供任何从 MQ queue/topic 获取消息的方法。 JNDI 用于从 LDAP 或 J2EE 服务器等存储库中检索连接和目标配置信息。

除了Java/JMS,MQ 还提供C/COBOL 和其他语言的API。根据您的技能,您可以选择任何一种语言来开发您的应用程序。

我认为从发布绩效报告开始是件好事 here。这些报告谈到了不同场景下的 MQ 性能,也谈到了应用架构和使用的配置。