Как начать профилирование / оптимизацию базы данных Java-приложений / Oracle? - PullRequest
0 голосов
/ 09 сентября 2010

Вчера я прочитал кое-что об оптимизации приложений и о том, как программист должен находить наиболее используемые части программы, а также профилировать и модифицировать их, получая наибольшую выгоду (глядя на затраченное время / трудозатраты и выигрыш в памяти / скорости). Теперь я запустил профилировщик Eclipse, получил VisualVM, но я не знаю, как правильно использовать эти данные. Мои основные проблемы - использование памяти (я создаю XML и либо сохраняю его на диске в виде zip-файла, либо сбрасываю его в виде zip-файла пользователю для загрузки) и замедления из базы данных (я подозреваю, что мои индексы отсутствуют или не хороши, и в любом случае, не знаю о них много, поэтому я не могу рассказать вам больше :), но я даже не знаю, как это начать. В первом случае VisalVM показывает, что программа использует до 200 МБ, но когда я проверяю дамп кучи и щелкаю наиболее часто используемый объект (или как он называется), информация оказывается ошеломляющей. Во втором случае я знаю даже меньше, кроме того, что у Жабы есть несколько инструментов.

То, что я хочу знать, - как начать это делать, и когда я удовлетворен локальной производительностью, как это сделать в производственном приложении.

Edit1: Итак, для конкретного примера использования памяти (я создаю XML и либо сохраняю его на диск в виде zip, либо сбрасываю как zip пользователю для загрузки). Это то, что я получаю, когда выбираю «Дамп кучи», затем выбираю 20 лучших объектов по оставшемуся размеру и открываю детали: Heapdump screenshot

и это то, что я получаю, когда открываю Profiler в том же случае:

alt text

Вопрос в том, что мне говорят эти экраны? :)

1 Ответ

3 голосов
/ 09 сентября 2010

Что касается приложений баз данных, я бы начал с чтения превосходных статей Кэри Миллсап:

http://method -r.com / downloads / cat_view / 38-paper-and-article

Поиск "Подружиться с базой данных Oracle", например ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...