Performance WebSphere MQ性能

Performance WebSphere MQ性能,performance,jms,ibm-mq,mq,Performance,Jms,Ibm Mq,Mq,我在machine1中运行MQ server 7.1。我在机器2中运行了一个java应用程序,它使用JMS将消息写入机器1中的队列。java应用程序每秒处理数百条消息(数据来自别处)。目前,向队列中写入消息大约需要100毫秒的时间(平均大小为600字节)或每秒2000条消息。这是合理的表现。可以做些什么来进一步提高性能。i、 e.更快?WebSphere MQ性能报告中提供了许多详细的建议。这些将作为SupportPacs发布。如果从开始,您想要的都命名为MPxx,并且每个平台和每个版本都可以使

我在machine1中运行MQ server 7.1。我在机器2中运行了一个java应用程序,它使用JMS将消息写入机器1中的队列。java应用程序每秒处理数百条消息(数据来自别处)。目前,向队列中写入消息大约需要100毫秒的时间(平均大小为600字节)或每秒2000条消息。这是合理的表现。可以做些什么来进一步提高性能。i、 e.更快?

WebSphere MQ性能报告中提供了许多详细的建议。这些将作为SupportPacs发布。如果从开始,您想要的都命名为MPxx,并且每个平台和每个版本都可以使用

正如您将从SupportPacs中看到的那样,WMQ开箱即用的功能经过了调整,可在各种消息大小和类型之间实现速度和可靠性的平衡。通过配置和设计/架构进行调优有相当大的自由度

从配置的角度来看,存在用于持久性和非持久性消息的缓冲区、将磁盘写入完整性从三次写入降低到单次写入的选项、日志文件大小和数量的调整、连接多路复用等。您可以由此推断,QMgr越是针对特定的流量特性进行调整,你能让它走得越快。另一方面,如果出现了超出调优规范的新类型的通信量,那么经过严格调优的QMgr往往会做出糟糕的反应

我还看到了将WMQ文件系统分配到不同的磁盘轴上的巨大性能改进。写入持久消息时,它会同时发送到队列文件和日志文件。如果这两个文件系统都在争夺相同的磁盘读/写磁头,这可能会降低性能。这就是为什么WMQ有时在高性能笔记本电脑上的运行速度比在大约相同大小的虚拟机或服务器上的运行速度慢。如果笔记本电脑具有物理旋转磁盘,其中WMQ文件系统都已分配,而服务器具有SAN,则无法进行比较

从设计的角度来看,并行性可以获得很多性能。性能报告显示,添加更多的客户端连接可以显著提高性能,直至性能趋于稳定并最终开始下降。幸运的是,在客户端数量下降之前,它的最大数量是非常大的,web应用服务器通常比WMQ更早陷入困境,这仅仅是因为所需的Java线程数量

另一个可能产生重大影响的实现细节是提交间隔。如果应用程序一次可以放置或获取许多消息,那么这样做可以提高性能。syncpoint下的持久消息不需要刷新到磁盘,直到
COMMIT
发生。在一个工作单元中写入多条消息可以让WMQ更快地将控制权返回到程序,缓冲写入,然后对其进行优化,这比一次写入一条消息要有效得多


本文还对调优选项进行了深入讨论。这是developerWorks系列文章的一部分,其中包含一些其他也涉及到调优的文章。

我建议您看看这篇文章:

非常感谢,这对我帮助很大。目前,我在XA事务中发送100条消息。我可以将100条消息作为批插入插入到数据库中,从而提高性能。MQ的提交间隔方法是否类似于DB的批插入?我对此很感兴趣,我将对此进行研究。通过“提交间隔”,我只是说应用程序在发出
commit
之前读取和/或写入了多少消息,而不是MQ设置。有些应用程序(如请求/回复)在一个工作单元中使用一条消息时效果最好。但是对于批处理加载或转换之类的东西,可以读入消息,写出结果消息并循环,只为每x次迭代发出
COMMIT
。由于DB能够很好地批处理每个事务@100次更新,很明显,在XA事务中包含WMQ消息会导致WMQ提交间隔为100。Rob,这正是我现在正在做的。100条db记录作为批插入,100条消息发送到队列(100次发送),所有这些都在XA事务中。队列上的队列深度增加100。这对我来说很有效。你认为每秒2000条信息(1k条短信)是不错的表现吗?正如你所建议的,我可以考虑改变队列以提高性能。谢谢。有太多的未知变量要说这是否是一个好数字。最基本的问题是这些消息是否持久。需要考虑CPU、内存和带宽的数量。因为这些是XA事务,所以DB的延迟和事务协调起着很大的作用。如果瓶颈实际上是XA事务,我不会感到惊讶,在这种情况下,WMQ调优不会有多大帮助(如果有的话)。一种方法是运行跟踪或MA0W SupportPac,查看延迟在哪里。在avg上,2k带XA的持久化mps非常好。请注意,答案应该是搜索解决方案的终点(与另一个参考的中途停留相比,随着时间的推移,这些参考往往会过时)。请考虑在这里添加一个独立的概要,将链接作为参考。