Как из Intellij IDEA профилировать приложение, стоящее на удаленном WildFly с помощью JProfiler
У меня есть Intellij Idea 2020, JProfiler и плагин JProfiler для IDEA. На удаленном сервере стоит WildFly 15, на котором крутится приложение. Сейчас в standalone.conf прописаны ключи для подключения по jmx для jconsole
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9010
-Dcom.sun.management.jmxremote.rmi.port=9010
-Dcom.sun.management.jmxremote.local.only=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
Я хочу профилировать приложение с помощью JProfiler из Идеи, но нигде четкой инструкции не нашла, как подключить профилирование. Насколько я понимаю, нужно распокавать какую-то часть JProfiler на сервер и добавить ключи в standalone.conf для JVM? Если напишите пошагово, буду очень благодарна
Ответы (1 шт):
У JMX довольно хитро с сетью. Он использует рандомные порты, которые сложно прокинуть.
Если ресурсов в инфраструктуре много, можно сделать виртуальную рабочую станцию для разбора сложных случаев, и ходить на нее по Spice протоколу.
На ней может быть еще (временно конечно) много памяти для разбора больших heap-dump-ов.
Можно еще посмотреть в сторону VPN.
Возможно у JProfiler есть свое, специфичное решение этих вопросов.