У меня есть производственная система, которая использует ActiveMQ (5.3.2) для отправки сообщений с сервера A на сервер B. Несколько недель назад система по необъяснимым причинам начала тратить 10+ секунд на отправку сообщения.После перезагрузки производителя система работала нормально.
После расследования я почти уверен, что это связано с управлением потоком данных производителя.(У меня довольно стандартная настройка activemq).За день до этого (по другим причинам) мое потребительское программное обеспечение работало беспорядочно и на некоторое время даже прекратило принимать подключения.Я предполагаю, что это вызвало это.(Меня озадачивает, что запросы все еще блокировались днем позже.)
Вопрос - как я могу подтвердить, что запросы были ограничены.Я сделал дамп кучи сервера - есть ли в памяти данные, которые я могу найти?
Редактировать: Я нашел следующее: WireFormatNegotiator.tcpNoDelayEnabled = false для одного из трех экземпляров WireFormatNegotiator в памяти.Я пытаюсь выяснить, что это устанавливает.
И, во-вторых (и это более важно), есть ли способ, с помощью которого я могу использовать JMX, чтобы определить, подавляются ли сообщения?Я хотел бы настроить оповещение Nagios, чтобы сообщить мне, если это произойдет в будущем.Какое свойство я должен проверить с JMX?