Sun Java System Message Queue 3.7 UR1 管理指南

多使用方队列性能

多队列使用方处理队列目的地中的消息的效率取决于下列可配置的队列目的地属性:

要达到最优的消息吞吐量,必须有足够数量的活动使用方以适应队列的消息生成速率,并且队列中的消息必须以最大化使用速率的方式路由和传送给活动使用方。Sun Java SystemTM Message Queue Technical Overview中介绍了在多个使用方之间平衡消息传送的一般机制。

如果消息在队列中堆积,这可能是因为没有足够的活动使用方来处理消息负载。也可能是每批传送给使用方的消息太多,导致消息在使用方堆积。例如,如果每批的大小 (consumerFlowLimit) 太大,某个使用方就可能会收到一个队列中的所有消息,而其他活动使用方则一个也没有收到。如果使用方速度特别快,这也不会成为问题。

但是如果使用方相对较慢,而您又希望将消息均匀地分配给它们,则需要将每一批的大小减小。每一批的大小越小,将消息传送到使用方所需的开销就越多。但是,对于较慢的使用方,使用较小的批大小通常能获得网络性能的提升。