2015-05-18 5 views
1

Я работаю над веб-приложением с Spring/Hibernate, после нескольких дней работы он стал очень медленным, поэтому я сделал heapdump, используя visualvm, но я не знаю много о том, как анализировать результаты, я даже не знаю, что бы быть нормальным размером org.hibernate.impl.SessionFactoryImpl в аналогичном стеке DEVELOPPEMENT, может кто-то пожалуйста, скажите мне accorning скриншоту, я хотел бы отметить, что я использую один веб-клиент (один пользователь вошел в)Что будет обычного размера объектов org.hibernate.impl.SessionFactoryImpl?

enter image description here

ответ

0

A ' нормальный размер объекта зависит от многих факторов (версия используемой библиотеки, версии JVM и ОС ...)

Дополнительную информацию о неглубоких и сохраненных размерах вы можете найти здесь here.

Я думаю, что SessionFactoryImpl в вашем случае не слишком большой (всего 1,7 МБ сохраненного размера) и не является причиной проблемы.

Однако небольшой размер кучи может быть проблемой, поэтому попробуйте проанализировать, использует ли приложение большую часть своего кучного пространства и соответственно увеличивает его.

+0

Я использую тот же confiug, что и на сервере, на моей машине разработки, но только с одним пользователем, зарегистрированным в – bmscomp

+0

. Каков максимальный размер кучи? Вы должны будете проверить память в то время, когда происходит замедление. Вы можете сделать это с помощью visualvm или других инструментов профилирования. В Интернете есть много учебников, посвященных тому, как это сделать, и я уверен, что на SOF посвящено много вопросов. –

+0

на моей машине размер кучи машины составляет 1 046 478 848 B и 101 317 648 B используется У меня есть одна и та же база данных, сбрасываемая с сервера (производство) для значений памяти. Я сделал копию прошлого из visualvm – bmscomp