Должен ли я принудительно переподключаться к AMQ NMS через несколько часов?

Мы используем AMQ 5.4.2 Broker и NMS.ActiveMQ 1.5.0 с C#. Работает очень хорошо, как и стек Java, к которому я в основном привык. Однако примерно через 12 часов возникает постоянная задержка между отправкой сообщения в очередь и получением его абсолютно доступным и бездействующим потребителем. Иногда проходит целых 30 секунд. Исправление заключается в перезапуске брокера или приложений-потребителей. Таким образом, кажется, что соединения каким-то образом со временем ослабевают с точки зрения отзывчивости. В настоящее время это очень слабо загруженная система, но все скоро изменится :)

Итак, мой вопрос: для NMS, как долго я должен поддерживать соединения «подключенными» и должен ли я принудительно переподключаться ... скажем, каждые 4 часа. Я понимаю, что это не должно требоваться, но я готов сделать это, если другие сочтут это необходимым.


person Jerico Sandhorn    schedule 03.03.2012    source источник


Ответы (1)


Я бы порекомендовал вам обновить версию NMS.ActiveMQ версии 1.5.0 до последней версии версии 1.5.3, в которой есть некоторые исправления для утечек потоков в мониторе бездействия, который проверяет соединения с разорванными сокетами. Со временем эти утечки могут замедлить работу, поэтому можно с уверенностью сказать, что обновление поможет. Возможно, вас замедляют другие факторы, например, ваш брокер приближается к лимиту памяти и т. д., но всегда лучше сначала попробовать самое простое решение, а затем работать с ним.

person Tim Bish    schedule 03.03.2012
comment
Я хотел сказать, что мы используем 1.4.1. Но замечание принято, я повторю тестирование с более новой версией. - person Jerico Sandhorn; 06.03.2012