【问题标题】:ActiveMQ duplicate session IDs for different consumers不同消费者的 ActiveMQ 重复会话 ID
【发布时间】:2014-10-03 09:35:13
【问题描述】:

我正在管理一个队列大小不断增加的 ActiveMQ 代理。有人告诉我,问题可能出在经纪人而不是消费者(其中 7 个)。

大多数队列显示重复、三次等,不同消费者(每个单独的服务器)的 SessionId 列条目。

我原以为每个消费者都有自己的线程(每个队列?),这种状态似乎是错误的 - 因此我怀疑这会导致支持队列的缓慢处理。

有人可以在“浏览活跃消费者”页面上阐明消费者和 SessionId 之间的关系吗?

谢谢!

【问题讨论】:

    标签: activemq


    【解决方案1】:

    对于每个消费者(并发或其他)线程,您将在“浏览活动消费者”页面中看到一个 sessionid。你所看到的是正确的。

    性能问题可能来自许多方面,但我高度怀疑这是由于消费者的数量。队列备份(在任何提供者上)的最常见原因是性能不佳的消费者无法跟上消息的生成。为什么它表现不佳可以从网络到时间来执行应用程序需要对消息和提交执行的任何操作(如果使用事务或其他非自动确认模式)。

    查看您的调度队列列。如果在您的消费者上使用默认值,则每个消费者最多应该有 1000 条消息待处理。当您刷新时,如果您看到出队计数缓慢增加,这通常意味着消费者的确认速度很慢。

    【讨论】:

    • “看看你的调度队列列......如果你看到出队计数缓慢增加”你在这里指的是同一列,还是分别指的是“调度队列”和“出队”?
    • 我最初的问题是:SessionId 是关于几个不同的消费者在该列中具有完全相同的值是否正常。您的回答没有明确提到...
    • 是的,sessionid 可以相同。会话 ID 与该特定会话相关。如果您正在共享会话(即并发消费者,并且在某些情况下使用事务),您将看到会话 ID 不同。 Dispatched Queue 表示分配给给定消费者的消息数。 Dequeue 表示客户端实际消费和确认的消息数量。因此,如果您在调度队列中看到消息,但出队计数没有增加或缓慢增加,您通常可以将其与消费者性能问题联系起来。
    猜你喜欢
    • 1970-01-01
    • 2015-07-23
    • 2021-03-06
    • 1970-01-01
    • 2014-08-06
    • 2012-04-18
    • 2021-12-02
    • 2012-12-24
    • 1970-01-01
    相关资源
    最近更新 更多