我们正在努力通过MSMQ从NServiceBus 4.0.4获得良好的性能。我们体验到,当消息以大约40-50条消息的速度慢进来时,每一件事情都运行良好,我们的处理程序能够将队列保持为空。
将消息速率提高到400条消息的平均值,处理程序无法再跟上。我们的处理程序只是一个没有任何逻辑的空处理程序。它们似乎可以覆盖每秒400个平均值中的大约300条消息,并且消息队列慢慢构建。
在这里,我真的很难理解会发生什么。如果我再进一步增加到1500-2000消息,则处理程序会逐步增加游戏并每秒处理接近1500条消息,队列仍在构建,但没有额外的消息量。
我们试图摆弄NumberOfWorkerThreads
(开/关和0-100),MaxRetries
(开/关和0-100),MaximumConcurrencyLevel
(开/关和0) - 100),MaximumMessageThroughputPerSecond
(开/关和0 - 10000)和IsTransitional
(开/关)似乎没有任何影响这种行为。
我们能够发送数千条消息,但不能处理它们,即使今天的处理是从队列中挑选它们并扔掉它们。
有谁知道这可能是什么,或者有什么好的提示我们如何提高我们的公共汽车的性能?
答案 0 :(得分:0)
在测试此问题时,我测试了在没有来自VS studio的调试器的情况下运行该过程。事实证明,出于某种原因,无论如何我安装了VS2013附加的调试器。
当我分离debbugger时,我仍然与NServiceBus.host进程有一些连接。在VS外面运行应用程序加速了所有的东西,并且我解决了这个问题。然后我重新安装了VS,那里的问题也就此消失了。
抱歉给您带来不便。