2012-03-03 38 views
0

我們在C#中使用AMQ 5.4.2 Broker和NMS.ActiveMQ 1.5.0。工作得很好,就像我習慣的Java堆棧一樣。但是,大約12小時後,消息發送到隊列時以及完全可用和空閒的消費者接收消息之間存在一致的延遲。有時會傳遞多達30秒。解決方法是重新啓動代理或消費者應用程序。因此,就響應性而言,這種關係似乎會隨着時間的推移而受到侵蝕。它目前是一個非常輕的負載系統,但這一切都將改變:)幾個小時後,我應該強制AMQ NMS重新連接嗎?

所以我的問題是..對於NMS,我應該保持多久連接「連接」,我應該強制重新連接..說每4小時。我意識到這不應該被要求,但如果其他人發現它是必要的,我願意這樣做。

回答

1

我建議你從NMS.ActiveMQ的v1.5.0升級到最新的v1.5.3,它有一些修復了Inactivity Monitor中線程泄漏的問題,它檢查丟棄的套接字連接。隨着時間的推移,這些泄漏事件可能會讓事情變得緩慢,因此升級將會有所幫助。它可能有其他的東西讓你放慢速度,比如你的經紀人接近它的內存限制等,但它總是最好先嚐試最簡單的修復,然後從那裏開始工作。

+0

我打算說我們正在使用1.4.1。但有一點,我會用新版本重複測試 – 2012-03-05 21:15:27

相關問題