New Relic 通过 JFR 提供实时 Java 分析器

New Relic 发布实时性能分析功能

New Relic 在 New Relic One 平台中推出了一项新的实时性能分析功能,该功能能够以极低的开销从生产应用程序中流式传输 JVM 性能数据。这一功能通过 Java Flight Recorder (JFR) 实现,JFR 是 Oracle 在 Java 11 中开源的一项 JVM 特性。

功能扩展与竞争

该实时分析器扩展了 Java Flight Recorder 的单桌面 GUI(Java Mission Control),提供了跨多个 JVM 的长期可见性。这一功能与 DataDog 最近发布的 Continuous Profiler 类似,两者都利用了 JFR 特性。JFR 和 Mission Control 是经过多年发展的成熟功能,最初在商业版 JRockit JVM 中引入,后来成为 Oracle Java SE 8 的商业部分,现在所有代码都已完全开源。

深度监控与分析

利用 JFR 的监控工具可以深入了解 JVM 及其操作,例如通过 ThreadLocal Allocation Buffer (TLAB) 分析,可以精确定位哪些线程分配了哪些对象类型。这通常与垃圾收集分析结合使用,不仅可以揭示被丢弃的对象,还可以追踪其来源。

上下文信息与日志集成

New Relic One 为开发者提供了一个一致的视图,可以整合额外的上下文信息,如日志。日志信息的加入帮助解释结果的人超越纯技术指标,了解应用程序在特定时间的行为。

基础设施问题检测

另一个优势是将 JFR 的深度分析与基础设施信息结合,例如“嘈杂邻居”问题检测。当多个应用程序共享相同的计算和存储资源时,性能下降经常发生。连续分析功能可以帮助区分问题是由应用程序还是基础设施引起的。

自动化与人工监控的挑战

从监控和可观测性的角度来看,一个缺点是依赖人工注意力和反应时间来应对仪表板上出现的问题。更多或连续的数据并不自动意味着更快的解决方案。AWS 最近发布了一份“操作仪表板最佳实践指南”,指出任何需要人工审查仪表板的操作过程都会因人为错误而失败。AWS 的指南倾向于自动报警,而其他组织如 Turbonomic 则倾向于自动化操作。

自动化操作的示例

例如,在主机上 CPU 竞争的“嘈杂邻居”问题中,常见的操作是将一个虚拟机迁移到同一集群中利用率较低的主机上。在这种情况下,仪表板提供“查看”问题的能力,而自动控制系统则提供“执行”能力,利用对基础设施的理解进行迁移,纠正问题,并通知管理员。

开发者免费试用

开发者可以通过 New Relic One 平台注册免费账户,获取生产应用程序或服务的连续指标。

阅读 12
0 条评论