目前随着我们在中国的websphere mq(mqseries)用户数量越来越多,越来越多的用户开始对mq使用时的性能优化问题提出要求,希望能够更好地使用我们的产品,并尽可能的发挥它的最大优势,这里,我根据日常积累的经验谈一谈在mq性能优化方面应该考虑的因素。
目前随着我们在中国的websphere mq(mqseries)用户数量越来越多,越来越多的用户开始对mq使用时的性能优化问题提出要求,希望能够更好地使用我们的产品,并尽可能的发挥它的最大优势,这里,我根据日常积累的经验谈一谈在mq性能优化方面应该考虑的因素。
一、 与api 调用有关的mq性能考虑因素
这里,我们在讨论各个api对性能的影响时,均以c语言提供的api为例,其他开发语言与此类似。
1 关于mqconn/mqdisc的使用
在mq的13个函数中,mqconn/mqdisc是最耗cpu的两个函数,其次是mqopen和mqclose这两个函数,因此要尽量避免必要地重复使用这几个函数。比如,当您需要从队列中读取多条消息时,正确的编程方法应该如下:
mqconn
mqopen
mqget
.
.
.
mqget
mqclose
mqdisc
即:连接/断开队列管理器一次,打开/关闭队列一次,读取消息多次。而不应该反复建立与队列管理器的连接和反复进行队列打开/关闭操作。
2 mqconnx的使用
通常,我们使用mqconn这个函数建立与队列管理器的连接,除此之外,mq支持trusted application binding,即fastpath binding,用mqconnx来实现。当从性能方面考虑时,我们可以使用mqconnx来提高性能。
在使用mqconnx时,我们可以设置mqcno(connect option)来指定连接方式。缺省情况下,该选项为mqcno_standard_binding,如果设置为mqcno_fastpath_binding,即表明采用fastpath binding方式连接队列管理器,这种应用称为trusted application。所谓的trusted application,是指该应用程序和本地队列管理器代理组成同一个进程,从而提高性能。利用fastpath binding不仅能够提高连接队列管理器的性能,同时也能够提高mqopen,mqclose的性能。
如果喜欢websphere mq性能调优浅谈请收藏或告诉您的好朋友.
阅读(166) | 评论(0) | 转发(0) |