Влияет ли включение удаленного мониторинга JConsole на производительность системы на производстве? - PullRequest
8 голосов
/ 05 июля 2011

Oracle / Sun говорит, что все в порядке, если вы не используете его локально на рабочей коробке?http://download.oracle.com/javase/1.5.0/docs/guide/management/jconsole.html

Примечание. Использование jconsole для мониторинга локального приложения полезно для разработки и создания прототипов, но не рекомендуется для производственных сред, поскольку сама jconsole потребляет значительные системные ресурсы.Удаленный мониторинг рекомендуется для изоляции приложения jconsole от отслеживаемой платформы.

Вы когда-нибудь включали его в производственной среде и испытывали какие-либо воздействия на производительность?

Ответы [ 2 ]

6 голосов
/ 05 июля 2011

Несмотря на то, что это настоятельно не рекомендуется в производственной среде, практически невозможно повлиять на производительность включения удаленного jmx без аутентификации или шифрования с помощью таких параметров:

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9999 
-Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.remote.ssl=false

Если вы включите SSL и авторизуете аутентификацию, это немного повысит производительность:

-Dcom.sun.management.jmxremote.authenticate=true 
-Dcom.sun.management.remote.ssl=true
-Dcom.sun.management.jmxremote.password.file=jmxremote.password

Приведенные выше 2 сценария будут запускать только сервер mbean и сервер соединителя RMI в вашей производственной JVM. Удаленное подключение к этой JVM обойдется дороже, но все зависит от того, какие представления вы смотрите (например, представления GC требуют, чтобы все эти данные собирались и передавались обратно в клиент jConsole, который не является бесплатным), а также операции, которые вы выполняете. вызывать удаленно.

Вы можете прочитать больше статистики из следующего поста в блоге:

1 голос
/ 05 июля 2011

вы можете использовать jconsole для удаленного подключения к производственному серверу через открытые порты JMX ... однако всегда лучше повторить сценарий в другой среде и запустить там jconsole ....

...