2012-04-02 137 views
2

我們有一對夫婦在這裏我們使用nservicebus對於類似的服務:NServiceBus:發送第一條消息是慢

每當我們使用一個服務隊的函數調用,說「SendMessageToService2()」中,我們使用下面的函數獲取一個靜態總線成員的實例,將消息發送到Service2的隊列。

Publisher.GetInstance().Send() 

這很好,但只有在成功發送消息後。但對於第一次嘗試..它很慢,並導致我們的服務失敗其本地超時設置。服務/系統閒置一天也是一樣,然後當我們啓動一條消息時,它再次變慢,但在下一次嘗試中恢復正常。

我已經做了一些閱讀,但只有在MSMQ登記迷迷糊糊.. 空閒超時似乎指向一些有趣的事情我沒有做過這種截至目前..

我們使用NServiceBus 3.0 BTW。 。

任何想法/相同的經歷?

回答

2

從MSMQ的角度來看,如果第一條消息很慢,那麼大部分時間是名稱解析延遲。也就是說,將目標名稱解析爲IP地址需要很長時間。一旦解決,Windows緩存信息,因此後續連接速度更快。網絡追蹤可證明情況是否如此。

Cheers
John Breakwell