2012-04-02 139 views
2

我们有一对夫妇在这里我们使用nservicebus对于类似的服务:NServiceBus:发送第一条消息是慢

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

Publisher.GetInstance().Send() 

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

我已经做了一些阅读,但只有在MSMQ登记迷迷糊糊.. 空闲超时似乎指向一些有趣的事情我没有做过这种截至目前..

我们使用NServiceBus 3.0 BTW。 。

任何想法/相同的经历?

回答

2

从MSMQ的角度来看,如果第一条消息很慢,那么大部分时间是名称解析延迟。也就是说,将目标名称解析为IP地址需要很长时间。一旦解决,Windows缓存信息,因此后续连接速度更快。网络追踪可证明情况是否如此。

Cheers
John Breakwell