2013-07-11 2 views
0

У нас есть веб-приложение Spring Hibernate JPA в производстве. Существует подозрение на утечку памяти в объектах сеанса. Мы загружаем записи excel с помощью Apache POI в MYSQL. Частота фиксации - 10 записей, но каждая фиксация занимает 5-10 секунд, а процессор достигает почти 100% в процессе импорта. Есть ли способ профилировать сеансы спящего режима в моем приложении и найти, какой процесс вызывает такой высокий уровень использования ЦП. Я просматривал Rhino Hibernate Profiler, но он, похоже, запутывает конфигурацию и требует изменений в коде. Поскольку нам нужно профилировать производственный или этапный экземпляр, есть ли какой-либо профилировщик информации сеанса JPA Hibernate без особых изменений в конфигурации/коде приложения?Как профилировать информацию о сессии JPA для спящего режима?

ответ

2

Использование виртуальной виртуальной машины с установленными плагинами. Прикрепите его к JVM PID вашего приложения при его запуске. Он покажет вам память, потоки и многое другое.

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

+0

привет, спасибо за ответ. Он не предоставляет информацию о том, что происходит в конкретной сессии спящего режима. Я не уверен, можем ли мы видеть, сколько объектов находится в сеансе с помощью этого инструмента. – suren

+0

Нажмите на профилирование. Вы увидите все созданные объекты, но только если у вас установлены все плагины. – duffymo

Смежные вопросы