Влияет ли включение удаленного мониторинга JConsole на производительность системы в производстве?
Oracle / Sun говорит, что все в порядке, если вы не запускаете его локально на производственной коробке? http://download.oracle.com/javase/1.5.0/docs/guide/management/jconsole.html
Примечание: использование jconsole для мониторинга локального приложения полезно для разработки и прототипирования, но не рекомендуется для производственных сред, поскольку jconsole сам потребляет значительные системные ресурсы. Удаленный мониторинг рекомендуется изолировать приложение jconsole от платформа контролируется.
вы когда-нибудь включали его в производственной среде и испытывали какие-либо воздействия на производительность?
2 ответов
хотя это очень не рекомендуется в рабочей среде, нет никаких последствий для производительности для включения удаленного 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, что не является бесплатным), а также операции, которые вы вызываете удаленно.
вы можете прочитать больше статистики из следующего сообщения в блоге:
вы можете использовать jconsole для удаленного подключения к производственному серверу с помощью открытых портов JMX... однако всегда лучше реплицировать сценарий в другой среде и запускать jconsole там....