NServiceBus:发送第一条消息很慢

时间:2012-04-02 00:34:27

标签: performance msmq nservicebus

我们有几个服务,我们使用nservicebus之类的东西:

每当我们使用一个服务的函数调用,比如说“SendMessageToService2()”时,我们使用下面的函数来获取静态总线成员的实例,以便将消息发送到Service2的队列。

Publisher.GetInstance().Send()

这很好,但只有在成功发送消息之后。但是第一次尝试..它很慢并导致我们的服务失败其本地超时设置。同样适用于服务/系统闲置一天,然后当我们启动消息时......它再次变慢,但在下一次尝试时它会恢复正常。

我已经完成了一些阅读,但只是偶然发现了MSMQ注册表。 idleTimeout似乎指向了一些有趣的东西,我现在还没有这样做..

我们正在使用NServiceBus 3.0顺便说一句..

任何想法/相同经历?

1 个答案:

答案 0 :(得分:2)

从MSMQ的角度来看,如果第一条消息很慢,那么大多数时候它都是名称解析延迟。也就是说,将目的地名称解析为IP地址需要很长时间。解决后,Windows会缓存信息,因此后续连接会更快。如果是这种情况,网络跟踪可能会证明。

干杯
John Breakwell