Как проверить Java-приложение на узкие места производительности? - PullRequest
9 голосов
/ 01 сентября 2008

Я рассматриваю большое Java-приложение, чтобы увидеть, есть ли какие-либо узкие места в производительности. Настоящая проблема заключается в том, что я не могу точно определить проблемы с производительностью какого-либо отдельного модуля. Все приложение работает медленно.

Есть ли какой-нибудь инструмент / техника, которую я могу использовать, чтобы помочь мне в этом?

Ответы [ 6 ]

8 голосов
/ 01 сентября 2008

Попробуйте использовать профилировщик в вашем рабочем коде. Это должно помочь вам определить узкие места. Попробуйте jprofiler или Netbeans profiler

5 голосов
/ 02 сентября 2008

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

3 голосов
/ 01 сентября 2008

Если вы работаете на Java 6, вы можете использовать прилагаемые инструменты мониторинга

0 голосов
/ 12 марта 2013

Как видно из Как я могу профилировать код C ++, работающий в Linux? , наиболее статистически значимым подходом является использование стекового профилировщика.

Ну, Java работает в JVM, поэтому получение стека, полезного для кода на C, не будет для нас полезным (оно получит материал JVM, а не ваш код). К счастью, Java имеет jstack! http://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jstack.html

Это даст вам кучу потоков, как GarbageCollector. Не беспокойтесь об этом, просто посмотрите, где находятся ваши темы.

0 голосов
/ 12 марта 2013

YourKit - отличный java-профилировщик (не бесплатный).

0 голосов
/ 02 сентября 2008

В целях тестирования / разработки вы можете бесплатно загрузить Oracle JRockit Mission Control с этого сайта. (Требуется вход в систему, но учетные записи могут быть настроены с любым адресом электронной почты)

Документы Здесь . Это позволит вам найти горячие точки, утечки памяти и многое другое.

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