【问题标题】:NServiceBus Message Queues Builds UpNServiceBus 消息队列建立
【发布时间】:2013-10-01 04:15:34
【问题描述】:

我们正在努力从 NServiceBus 4.0.4 和 MSMQ 中获得良好的性能。我们体验到,当消息以每秒大约 40-50 条消息的缓慢速度进入时,一切正常,我们的处理程序能够保持队列为空。

将消息速率提高到平均每秒 400 条消息,处理程序无法再跟上。在这一点上,我们的处理程序只是一个没有任何逻辑的空处理程序。它们似乎可能平均每秒覆盖 400 条消息中的大约 300 条消息,并且消息队列缓慢建立。

这是我真正难以理解发生了什么的地方。如果我随后进一步增加到每秒 1500 -2000 条消息,则处理程序会加快游戏速度并每秒处理接近 1500 条消息,队列仍然会建立,但不会产生额外的消息量。

我们试图摆弄NumberOfWorkerThreads(On/Off 和 0-100)、MaxRetries(On/Off 和 0-100)、MaximumConcurrencyLevel(On/Off 和 0-100)、@987654324 @(On/Off and 0 - 10000) 和 IsTransitional(On/Off) 似乎没有什么影响这种行为。

我们能够发送数千条消息,但无法处理它们,即使今天的处理是从队列中挑选它们并将它们丢弃。

有谁知道这可能来自什么,或者对我们如何提高公共汽车的性能有什么好的建议吗?

【问题讨论】:

  • 我假设您拥有无限许可?
  • 当您签出 repo 时,应该有 perd 测试。你能运行这些并报告吗?
  • @DanielMarbach 表示“性能”测试。
  • 我正在运行 NService 开发人员许可,所以我认为应该是 ulimited。丹尼尔:我会用性能测试回来查看

标签: msmq nservicebus


【解决方案1】:

在测试这个问题时,我测试了在没有来自 VS 工作室的调试器的情况下运行进程。事实证明,出于某种原因,我安装了 VS2013 附加调试器。

当我分离调试器时,我仍然与 NServiceBus.host 进程有一些连接。在 VS 之外运行应用程序大大加快了一切,并为我解决了这个问题。然后我重新安装了 VS,问题也解决了。

抱歉给您带来不便。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-02
    • 2016-08-25
    • 2011-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多