Я использую Drools 7.0 для оценки продвижения в корзине на моем сайте электронной коммерции. У меня 2300 акций / правил.
Я вижу, что во время выполнения StatefulKnowledgeSessionImpl.fireAllRules () что StatefulKnowledgeSession использует слишком много памяти (около 500 МБ). Из анализа дампа кучи я вижу, что это происходит в основном из-за BetaMemory созданных объектов (около 260 КБ).
Память очищается после GC, но это вызывает проблемы с производительностью из-за слишком частого GC.
Полагаю, это может быть связано со сложностью моих правил, но я не смог указать на проблему, и у меня могут быть разные типы правил.
У вас есть советы, которыми можно поделиться, чтобы я мог устранить неполадку в своей проблеме и понять, почему при оценке сети создается так много BetaMemory объектов.