首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在生产服务器上启用jmx (lambda探测)是个好主意吗?

在生产服务器上启用jmx (lambda探测)是个好主意吗?
EN

Stack Overflow用户
提问于 2008-11-24 09:14:10
回答 5查看 15.8K关注 0票数 25

我们的web应用程序部署在运行在Sun VM 1.5.0_06-b05上的Tomcat 5.5.17上,并且我们的托管公司没有提供足够的数据来发现问题。

我们正在考虑在生产服务器上安装lambda probe,但它需要启用JMX (com.sun.management.jmxremote)才能获得内存和CPU统计信息。

启用JMX会导致严重的性能损失吗?

如果我们启用了JMX,我们会打开任何安全漏洞吗?如果我们只启用对JMX的本地访问,是否需要设置安全身份验证?

有没有人使用相同的(tomcat + lambda探针)而没有在生产中出现问题?

更新

从答案上看,单独启用JMX似乎不会给VM带来很大的开销。如果附加到VM的监控应用程序(无论是JConsole、lambda probe或任何其他应用程序)正在以过度的专注进行轮询,则可能会出现额外的工作。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2008-11-24 21:34:49

您可以通过使用安全身份验证来消除安全缺陷。只需保持JMX服务准备就绪并不会产生任何显著的开销,通常是个好主意。关于这一点,有一个基准here

票数 18
EN

Stack Overflow用户

发布于 2008-12-11 00:41:09

JMX的开销很低,您可以通过使用SSL和身份验证来修复安全性。设置-Dcom.sun.management.jmxremote.ssl=true和-Dcom.sun.management.jmxremote.authenticate=true

有关设置证书等的更多信息,请参阅here的此处。

当你开始插装代码时,开销就成了一个问题。开销可能会很大,而且插装可能会影响应用程序的行为。你不会看到你得到了什么,即所谓的heisenberg effect

如果你想要低开销,我会使用JRockit自带的工具。它们利用JVM一直收集的信息。JVM保存哪些方法运行得最多的统计信息,以决定应该优化哪些方法。JVM还跟踪内存使用情况/模式,以决定选择哪个gc-stategy。JRockit将这种类型的数据公开给JRockit工具,而不会增加通常从单独的JMVTI-agent获得的检测开销。

票数 6
EN

Stack Overflow用户

发布于 2008-11-24 09:34:51

JMX只是一个套接字,它等待连接,并允许外部进程访问收集的数据。这样做的代价通常很低(当然,除非您用请求攻击JMX服务器)。

JMX允许您深入了解Java VM的内部结构。有一些命令可以运行和关闭GC。也就是说,JMX提供了一种使用公钥和身份验证的安全连接模式。有关详细信息,请阅读文档。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/313730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档