2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

NewRelic RPM 2 可以监控 Java 应用性能了

  • 2009-10-20
  • 本文字数:1604 字

    阅读完需:约 5 分钟

NewRelic RPM Ruby on Rails 领域中非常流行的性能监控解决方案。近日最新版的 RPM 2 发布了,该版本将 RPM 的特性带到了Java 应用中。

InfoQ 有幸采访了 NewRelic 的 Lew Cirne 以了解该最新版的相关信息。

InfoQ:NewRelic RPM 的Java 支持的工作方式是怎样的?

新版 Relic RPM 可以从不同源中收集信息。由于其主要用作产品监控以及深层诊断,所以我们要确保其所搜集的信息具有相关性,同时还要保证信息的监控和收集不会增加应用本身的性能负担。 举个例子吧,JMX 提供了极佳的概要度量,但对于深层次的问题诊断来说还是显得无能为力。我们使用官方 API 并通过字节码 instrumentation 的方式来补充这些数据,从而获得了能够快速解决问题的深层次信息。比如,RPM 可以自动为缓慢的数据库查询收集 SQL 说明信息,这对于那些负责监控并诊断数据库相关性能问题的团队来说极具价值。

InfoQ:对于字节码 instrumentation 你有何经验?在使用其他相关程序库时遇到过问题么?

我们使用了官方 API,还通过字节码 instrumentation 向应用服务器中插入特定的方法。RPM 在加载期对类进行 instrument,因此与其他修改字节码的工具(比如 AOP 程序库)没有什么依赖关系。

InfoQ:RPM 的 Java 支持可以运行在哪些平台和系统之上?

新的 Relic RPM 支持很多框架,包括 Spring、Grails 以及 JEE。RPM 可以监控标准的 JEE 组件,如 Servlet、EJB、JDBC、Hibernate、Web Services 调用、POJO、JSP 等等不一而足。它还能监控部署在 Spring 之上的应用。 除此以外,RPM 还可以监控部署在 WebSphere、WebLogic、JBoss、Tomcat、Jetty 以及 Glassfish 之上的 Web 应用。

InfoQ:第三方可以扩展 NewRelic 来支持新的 Web 框架么?

RPM 在设计之初就考虑到了与第三方工具的集成,而这种集成是非常简单方便的。通过 RPM API,用户可以集成来自于其他源的数据。我们还提供了一个 REST API,这样用户和第三方软件供应商就可以将 RPM 应用性能数据集成到自己的解决方案中。像 Rightscale 等公司已经在使用该 API 了。

InfoQ:除了 MRI 以外,NewRelic 现在也支持对 JRuby 应用的监控了,为何要支持 JRuby,有必要么?

JRuby 支持是相当直接的。对于 Ruby 和 JRuby 方法来说有些细小的差别,而 RPM 利用这种差异性来收集信息。一旦我们搞定了这些差别,假如架构够灵活,那对于 RPM 来说,自动化的 instrumentation 就是非常直接的事情了。

InfoQ:JRuby 与 Java 支持有关联性么?

RPM 在众多的应用性能管理工具中是独树一帜的, 因为它提供了监控 Ruby/JRuby 以及 Java 的统一界面。一般来说 Ruby/JRuby agent 与 Java agent 是不同的,而 RPM 基本是以同样的方式工作,如前所述,都将数据发送到相同的控制台上。 对于运行 JRuby on Rails 应用的用户来说,我们推荐他们使用 Ruby agent,它完全兼容于该环境并提供了一套相关的度量集。

InfoQ:NewRelic 还支持Ruby 1.9,在你的客户当中有使用 Ruby 1.9 的么?

我们所用的 SaaS 方式的一个好处在于可以看到数千产品应用,这样我们就能了解客户所使用的平台和运行时版本等信息。我们会不定期地在 RailsLab 站点( http://railslab.newrelic.com/2009/06/11/the-state-of-the-stack-a-ruby-on-rails-benchmarking-report-10-june-2009 )上的“State of the Stack”文章中与大家分享主要的观测资料。 根据以上论述,我们发现使用 Ruby 1.9 的用户少之又少,然而我们还是愿意支持 Ruby 1.9。当用户升级其平台或运行时后(比如 Ruby、JRuby、Java、Rails、Spring、Grails 等发布),我们会尽最大努力在新平台或运行时普及前提供对其的支持。

NewRelic RPM 根据不同的版本具有不同的定价,其中 RPM Lite 是免费的。EngineYard 与 RightScale 用户可以享受到特别的待遇。

在了解了 NewRelic RPM 的特性之后,我想问各位读者一个问题:你当前使用何种工具监控 Java 应用的性能呢?

查看英文原文: NewRelic RPM 2 Adds Java Support for Performance Monitoring

2009-10-20 12:431501
用户头像

发布了 88 篇内容, 共 268.2 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

Goroutine 是如何运行的

Rayjun

调度器 Go 语言

【LeetCode】H 指数Java题解

Albert

算法 LeetCode 7月日更

模块八作业

Presley

Facebook工程经验--PCIe故障监控和修复

俞凡

架构 大厂实践

区块链+游戏资产所有权,将如何激活游戏经济的发展?

CECBC

10条让开发者受益终生的编码原则

Jackpop

Python OpenCV 之图像金字塔,高斯金字塔与拉普拉斯金字塔

梦想橡皮擦

7月日更

架构实战营 模块二作业

孫影

架构实战营 #架构实战营

7款神器,让程序员幸福感暴增!

Jackpop

一文掌握Java TreeMap与HashMap

Jackpop

模块七作业-王者荣耀商城异地多活架构设计

张大彪

【极光笔记】iOS 15推送新特性初探

极光GPTBots-极光推送

dubbogo 凌烟阁之 望哥

apache/dubbo-go

性能框架哪家强—JMeter、K6、locust、FunTester横向对比

FunTester

性能测试 接口测试 测试框架 测试开发

Redis - Cluster - 源码阅读(二)

旺仔大菜包

redis

MapReduce 设计构思

五分钟学大数据

7月日更

高性能架构

编号94530

Java 架构设计 高性能

阿里P8大佬亲自教你!2021Android进阶者的新篇章

欢喜学安卓

android 程序员 面试 移动开发

极光开发者周刊【No.0709】

极光GPTBots-极光推送

Hadoop 入门教程

若尘

大数据 hadoop

网络攻防学习笔记 Day71

穿过生命散发芬芳

网络攻防 7月日更

市场总局禁止虎牙斗鱼合并:抵制互联网行业垄断行为

石头IT视角

模块八作业-设计消息队列存储消息数据的 MySQL 表格

张大彪

dubbogo 凌烟阁之 方银城

apache/dubbo-go

性能测试框架对比初探

FunTester

性能测试 接口测试 测试框架 测试开发

领域驱动设计到底在讲什么?

escray

学习 极客时间 7月日更 如何落地业务建模

以产业区块链提升数字化转型质量

CECBC

自建开发工具系列-Webkit内存动量监控UI(三)

Tim

MVP

架构实战训练营 - 模块八课后作业

Johnny

架构实战营

智能重排序在推荐场景中的应用(三十四)

Databri_AI

推荐系统 排序 智能

阿里P8大佬整理!2021最新阿里Android面试流程

欢喜学安卓

android 程序员 面试 移动开发

NewRelic RPM 2可以监控Java应用性能了_Java_Werner Schuster_InfoQ精选文章