写点什么

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:431412
用户头像

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

关注

评论

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

web前端培训React基础知识点的梳理

@零度

前端开发 React

面试突击40:线程休眠的方法有几种?

王磊

Java java面试

OpenHarmony 3.1 Beta样例:使用分布式菜单创建点餐神器

OpenHarmony开发者

OpenHarmony OpenHarmony应用开发 点餐

亚马逊云科技 2022 年 3 月新服务新功能强势来袭

亚马逊云科技 (Amazon Web Services)

服务 亚马逊

Docker 实战教程之从入门到提高 (六)

汪子熙

Docker 容器 docker image 容器镜像 4月月更

软件工程学习之道

乌龟哥哥

4月月更

谈谈客户体验管理有效实施

龙国富

客户体验 CEM CXM 客户体验管理

加速OpenHarmony生态繁荣,华为使能OpenHarmony发行版厂商

科技汇

CityClub游览随笔记录

耳东@Erdong

InfoQ InfoQ写作社区2周年 City Club

企业如何才能发挥出知识管理真正的价值

小炮

知识管理 企业知识管理

设计消息队列存储消息数据的 MySQL 表格

风中奇缘

#架构实战营 「架构实战营」

设计消息队列存储消息数据的MySQL 表格

Geek_8d5fe5

「架构实战营」

模块8作业

Leo

架构实战营

设计消息队列存储消息数据的 MySQL 表格

浪飞

spring-cloud-kubernetes背后的三个关键知识点

程序员欣宸

java 4月月更

java培训Mybatis动态Sql处理解析

@零度

sql mybatis JAVA开发

5 月亚马逊云科技培训与认证课程,精彩不容错过!

亚马逊云科技 (Amazon Web Services)

架构师 培训 认证

从玄学走向科学:在字节跳动广告投放这么干

字节跳动数据平台

大数据 字节跳动 广告系统 ab测试

模块八

blazar

「架构实战营」

设计消息队列存储消息数据的MySQL表格

张逃逃

4月28日,一场为IT工程师们准备的盛宴

观测云

云原生 可观测性 IT 直播 产品发布会

建信金科在中国建设银行物联网平台项目的实践

EMQ映云科技

物联网 IoT 金融 银行 emq

「架构实战营」模块八 消息队列存储设计

hxb

「架构实战营」

Linux驱动开发-内核共享工作队列

DS小龙哥

4月月更

重学架构之消息队列存储消息数据的 MySQL 表格

陈华英

架构实战营 「架构实战营」

EasyRecovery2022全功能数据恢复介绍

茶色酒

EasyRecovery15

入驻快讯|欢迎小红书技术团队正式入驻 InfoQ 写作社区!

InfoQ写作社区官方

入驻快讯

攻克编译器技术

刘旭东

编程语言 编译器原理 4月月更

云图说丨云数据库 RDS for MySQL一键开通读写分离,轻松应对业务高峰期

华为云开发者联盟

MySQL 华为云 读写分离 云数据库 rds for mysql

云原生训练营 -Week08-2

jjn0703

@DateTimeFormat 注解 和 @JsonFormat 注解

乌龟哥哥

4月月更

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