Подтвердить что ты не робот

Какой профилировщик Java лучше: JProfiler или YourKit?

Какой профилировщик лучше подходит для профилирования общего профиля и анализа кучи? 90% наших приложений являются автономными программами командной строки с существенной обработкой базы данных и числовых данных. Другие 10% - приложения webapps/servlet container (с очень маленькими JSP и NO SCRIPLETS!). Целевым пользователем будет инженер программного обеспечения Sr с 5-10-летним опытом работы в отрасли. Нам нужна поддержка только для Sun JDK 5 и.

Как писал этот вопрос (2008-10-02), JProfiler был в 5.1.4, а YourKit - 7.5. Похоже, что YourKit 8.0 скоро выйдет.

4b9b3361

Ответ 1

Я использовал как JProfiler 4, так и YourKit 7.5, а YourKit побеждает. Он настолько менее инвазивен, чем JProfile, так как я буду счастлив запустить серверы с установленным агентом MyKit, что я никогда не буду делать с JProfiler.

Кроме того, инструмент анализа, который поставляется с YourKit, более интуитивно понятен (на мой взгляд), что облегчает получение основной причины проблем.

Ответ 2

Если вы находитесь на jdk >= 1.6_07, вы также можете посмотреть на jvisualvm, который поставляется в комплекте.

Ответ 3

Недавно я использовал и JProfiler и Yourkit, и обнаружил, что yourkit намного превосходит анализ проблем с памятью и настоятельно предпочитает jprofiler для анализа производительности. Анализ памяти Yourkit кажется намного проще и интуитивно понятным. Для анализа производительности на yourkit я не увенчался успехом при решении любой проблемы с производительностью, которую я пытался решить с помощью yourkit. JProfiler показывает более точную и краткую информацию для анализа производительности с точным количеством вызовов метода и процентом времени, затрачиваемого на каждый метод. Я еще не нашел это в твоих руках. Кажется, yourkit просто дает информацию для выборки, которая не точна, если вы не измеряете тысячи вызовов.

Ответ 4

Ни один из инструментов, кроме JXInsight, не выполняет реальный анализ транзакций базы данных:

http://www.jinspired.com/products/jxinsight/concurrency.html http://www.jinspired.com/products/jxinsight/olapvsoltp.html

Технология JXInsight Probes также является единственной, которая может даже запускаться в производстве, учитывая, что мы выполняем профилирование netbeans на 20x и yourkit 100x в тестах SPECjvm2008.

http://blog.jinspired.com/?p=272

Я архитектор JXInsight, поэтому, конечно, я полностью предвзятый, но в то же время я, вероятно, более квалифицирован, чем большинство в отрасли Java, чтобы сделать такое выражение, поскольку я посвятил последние 8 лет анализу производительности для некоторых из самых требовательных приложений Java/J2EE в производстве.

Я должен указать, что JXInsight предназначен для инженеров по разработке программного обеспечения, а не только для случайного сеанса профилирования adhoc. У нас более 4000 системных свойств для настройки среды исполнения и 600+ расширений технологий, поэтому может быть излишним, если у вас есть сложная проблема для решения и/или использования одного и того же инструмента для разработки, тестирования и производства.

С уважением,

Уильям

Ответ 5

Я широко использовал JProbe, OptimizeIt и YourKit, и все они способные инструменты. Из 3, мой любимый любимый - YourKit.

Единственная функция убийцы в JProbe - это способность переходить от моментального снимка к аннотированному источнику (с подсчетами и таймингами). Я нашел это исключительно полезным.

Ответ 6

Я использовал оба, и мой голос теперь определенно JProfiler (в текущей версии 6), поскольку он проще в использовании и имеет много полезных дополнительных функций. В предыдущих выпусках у YourKit были некоторые преимущества с большими снимками, но теперь это уже не так.

Ответ 7

С Java 7 Update 40 Oracle включил Управление миссиями Java (первоначально часть JRockit JDK) - очень мощный инструмент настройки производительности, который способный конкурировать с yourkit/jprofiler.

Взгляните и удивляйтесь.

Ответ 8

Я использовал yourkit, и это очень хороший профилировщик, лучший из которых я когда-либо использовал в java (за многие годы я использовал множество других). что, как говорится, я никогда не использовал jprofiler, поэтому я не могу дать прямого сравнения.

Ответ 9

Определенно YourKit... Он смог открыть 4 гигабайта сбрасывания кучи с использованием всего 1 г кучи. В то время как Jprofiler с одинаковым распределением кучи разбился!

Ответ 10

Для быстрого и грязного профилирования программ командной строки JIP работает очень хорошо.

Ответ 11

Я использовал JProfiler в течение многих лет и очень доволен этим. IntelliJ, похоже, переключает свою рекомендацию назад и вперед между YourKit и JProfiler, поэтому я бы предположил, что их функциональные возможности схожи. Я считаю, что они оба имеют пробную версию.

Ответ 12

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Альтернативный ответ.

у них есть различные продукты для мониторинга производства/профилирования. UNLIKE другие инструменты разработки времени: http://www.jinspired.com/products/jxinsight/
Этот пост на theserverside на JDBInsight: http://www.theserverside.com/news/thread.tss?thread_id=13488

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я НЕ СВЯЗАН с этой компанией на любом уровне.

Ответ 13

Я использовал YourKit. Я не использовал JProfiler. Раньше я использовал OptimizeIt. У меня очень хорошее мнение о YourKit. Это очень стабильный и хороший графический интерфейс и хороший список функций. Одна уникальная особенность, которую я заметил, - это профилирование CPU с и без времени ожидания (например, I/O wais), включая.

Это также очень разумно (около 1100 долларов за 5 лицензий, которые я думаю)

Ответ 14

YourKit Он низкий накладные расходы, стабильный, простой в установке на JVM для профилирования (только одна dll) и мощный. Для анализа кучи дампов это единственный профайлер, который приближается к Eclipse Memory Analyzer.

Ответ 15

Я использовал только JProfiler (и некоторые JProbe). Насколько я могу судить, одним из ограничений YourKit является то, что они, похоже, не поддерживают JDK 1.4.2. Это не проблема для многих людей, но это может быть.

Ответ 16

Как и в стороне, вы можете рассмотреть профилировщик Netbeans - это довольно хорошо. Но я не использовал ни одного из двух вы упомянули.

Ответ 17

YourKit отлично. Вы также можете проверить профилировщик, встроенный в NetBeans, - это довольно круто.

Ответ 18

Я использую JProfiler и нахожу его в целом ОК. Однако функция "динамического инструментария" ужасно предвзята для небольших методов.

Ответ 19

Я использую профилировщик TPTP. лучшая функция, которую он может легко интегрировать в Eclipse, но плохо то, что Eclipse работает медленнее.

Ответ 20

Определенно YourKit. Это самый интуитивный и стабильный!

Ответ 21

+1 для yourkit --- использование 7.0 в dev-окнах в windows
не использовал JProfiler некоторое время - не могу комментировать, так как они могли улучшиться тем временем.