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

Лучший и безопасный Java Profiler для использования в производстве?

Я ищу Java Profiler для использования в среде с очень высоким спросом, будь то коммерческий или бесплатный, который отвечает всем следующим требованиям:

  • Легкая интеграция с кодом (без перекомпиляции со специальными опциями, без перехвата кода и т.д.). Отбрасывание определенных профилировщиков .jars вместе с кодом приложения в порядке.
  • Должна быть возможность подключения/отключения к JVM без перезапуска приложения.
  • Когда профилирование неактивно, никакого влияния на производительность
  • Когда профилирование активно, незначительное влияние на производительность. Очень небольшое ухудшение является приемлемым.
  • Должен делать все "ожидаемые" вещи, которые делает профайлер, - время, проведенное в каждом методе, для поиска горячих точек, распределения объектов/профилирования памяти и т.д.

По сути, мне нужно что-то, что может стоять бездействующим в производстве, когда все в порядке, не зная и не заботясь о том, что оно есть, но затем сможет подключиться к нему (и ухудшить производительность), чтобы точно определить трудные проблемы горячие точки и проблемы синхронизации.

4b9b3361

Ответ 1

Вы пробовали YourKit? Он имеет почти все функции, которые вы ищете.

Ответ 2

Java VisualVM - это инструмент, который предоставляет визуальный интерфейс для просмотра подробной информации о приложениях на основе Java (приложений Java), когда они работают на виртуальной машине Java (JVM). Java VisualVM организует данные JVM, которые извлекаются инструментами Java Development Kit (JDK), и предоставляет информацию таким образом, чтобы вы могли быстро просматривать данные на нескольких Java-приложениях. Вы можете просматривать данные локальных приложений и приложений, работающих на удаленных хостах. Вы также можете захватывать данные о программном обеспечении JVM и сохранять данные в локальной системе, а также просматривать данные позже или делиться данными с другими. Это происходит с Oracle JDK it self...

$ jvisualvm 

Ответ 3

Я был доволен jProfiler.

Ответ 4

Я предпочитаю Java Flight Recorder. Это приводит к незначительным потерям производительности и имеет приятный графический интерфейс. Добавить параметры JVM

-XX:+UnlockCommercialFeatures -XX:+FlightRecorder

-XX:StartFlightRecording=name=test,filename=test.jfr,dumponexit=true

и откройте запись с помощью JMC.

Ответ 6

Я использую проект платформы Eclipse TPTP - Eclipse Test and Performance Tools. Подходит ли он для производства или нет, это зависит от пользователя. Для меня это прекрасно, и это отвечает вашим потребностям.

http://www.eclipse.org/tptp/

Ответ 7

Другая опция http://www.newrelic.com/. Мы используем его в производстве в течение некоторого времени, и он кажется довольно надежным и эффективным. Простота настройки (один вариант .jar и a -agent).

Ответ 8

Появится еще один новый параметр javosize

Когда я искал "лучший java-профайлер" в google, я видел на первой неоплаченной ссылке (это блог), тот же инструмент в комментариях к сообщению:

https://blog.oio.de/2014/03/07/java-profilers-a-short-comparison-between-jprofiler-yourkit-and-javas-visualvm/

Надеюсь, что это поможет!

Изменить: как говорят, ссылка linkedin связана с частным форумом. Извините за это. Вот ссылка на главный сайт:

http://www.javosize.com/gettingStarted.html

Ответ 9

FusionReactor Java Performance Performance Monitor также включает в себя очень низкий служебный Java Profiler в составе своего портфеля функций. http://www.fusion-reactor.com/production-java-profiler/ FusionReactor можно установить через пару минут, и у них есть бесплатная 14-дневная пробная версия, чтобы проверить ее.

Ответ 10

Посмотрите Java Mission Control в сочетании с Flight Recorder. Начиная с выпуска Oracle JDK 7 Update 40 (7u40), Java Mission Control поставляется вместе с JSM HotSpot, поэтому он очень интегрирован и имеет небольшие последствия для производительности во время исполнения. Он имеет функции древовидной структуры вызова, такие как Callgrind.