Hazelcast Mancenter увеличивает использование процессора

Я имею:
a) 1 сервер (4 В, 8 ГБ), на котором запущен узел Hazelcast,
б) 1 сервер (4vcpu, 8GB), на котором запущен Hazelcast Mancenter на Tomcat 7.
Оба сервера находятся в одной локальной сети.

Я протестировал 2 сценария:
Сценарий 1) Я начал а) и б). Данные не переданы. Использование процессора на а) было 0-10%.
Сценарий 2) Я начал а) и б). Я передал большую часть данных для обработки в) и ждал, пока он не закончится (2 часа). Когда не осталось данных для обработки, я проверил использование процессора на a) - это было 30-110% (даже через 8 часов). Когда я остановил mancenter на b), процессор на a) опустился до 0-10%. После повторного запуска mancenter он вырос до 30-110%.

Я думаю, что использование процессора на а) после 1) и 2) должно быть одинаковым.

Я проанализировал jvm и заметил, что поток с именем MC.State.Sender был неактивен в сценарии 1 и активен в сценарии 2. Может ли это истощать процессор? Можно ли это ограничить с помощью конфигурации?

Спасибо заранее за любую помощь.

Вот дампы потоков из visualvm (я также могу предоставить снимки профилировщика процессора):
дамп сценария1
дамп сценария2

1 ответ

Решение

Я заметил проблему при использовании Hazelcast 3.4 и Mancenter 3.4.1. После обновления библиотеки Hazelcast до 3.4.1 я не смог повторить проблему.
Целую неделю я проводил разные тесты, и проблема больше не возникала.
Решение состоит в том, чтобы сохранить mancenter и Hazelcast lib в одной и той же версии.

Другие вопросы по тегам