【发布时间】:2019-12-19 13:12:37
【问题描述】:
我的 mule 应用程序由集群中运行的 2 个节点组成,它侦听 IBM MQ 集群(基本上通过队列管理器连接到 2 个 MQ)。在某些情况下,一个 mule 节点从 MQ 集群中提取或获取超过 80% 的消息,而另一个 mule 节点选择剩余的 20%。这会导致 CPU 性能问题。 我们仔细检查了所有负载平衡是否正确,很少出现 CPU 性能问题。请任何人提供一些想法可能是什么原因。
示例:创建最后一个场景,队列中有 200000 条消息,node2 mule 服务器在几分钟内从队列中提取了 92% 的消息。
【问题讨论】:
-
另一个问题的答案描述了为什么您会在 1 个或 2 个 mule 服务器上看到更多消息。
-
只是为了从提供的链接中确定-“我的应用程序将持久消息存储在 MQ 中。一个 mule 流将消息放在队列 ABCD 上,另一个 mule 流从同一个队列 ABCD 获取消息”。那么,您的意思是当消息数 > 200000 或消息大小 > 4MB 时,队列上可能会出现保留锁???
-
根据我最近 5 个月的分析,我们遇到了 14 次相同的问题,每次都是 mule 服务器节点 2 出现 CPU 使用率警报。节点 1 在今年全年都很好。如果发生队列争用锁,那么我希望它会在两个节点上发生......
-
我在专门谈论 Mark Taylor 关于为什么分布不均匀的答案。马克来自 IBM。消息不会以 50/50 的比例分别提供给两个服务器,它们将提供给准备好接受新消息的最新消费者。
标签: mule load-balancing ibm-mq cpu-usage mule-esb