写点什么

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

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

关注

评论

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

工具:Juypter Notebook

正向成长

Jupyter Notebook

优先队列一些记录以及解题思路

数据结构 Go 语言 优先队列

hadoop nameNode/datanode 稳定性&性能改进点

Clarke

AI 算法在视频可分级编码中的应用

融云 RongCloud

人工智能 音视频 编解码

如何 30 分钟搭建一个语聊房

融云 RongCloud

【架构设计总结】

Ryoma

DDD战术设计实践

郑印

DDD

Hudi 在字节实践记录

Clarke

ironSource现已支持自定义广告网络

字节Android Native Crash治理之Memory Corruption工具原理与实践

字节跳动终端技术

字节跳动 Android; 火山引擎

利用这份文档,我成功定位阿里P6,却拿着P7的工资

Java 程序员 后端

活动日程首公布|Apache ShardingSphere Dev Meetup 亮点新揭秘

SphereEx

ShardingJDBC ShardingSphere 技术沙龙 SphereEx

JavaScript 解构赋值 5 个常见场景和实例

devpoint

JavaScript 大前端 ES6 11月日更

BoCloud博云完成 E 轮融资

BoCloud博云

云计算 云原生 博云

语聊房高质量音乐伴奏的实现

融云 RongCloud

语聊房 音乐播放

双11大促 | 消息推送资源包6折购!一键集成华为、小米等多厂商推送通道

蚂蚁集团移动开发平台 mPaaS

消息推送 push mPaaS 双11 促销

GaussDB (for Cassandra) 数据库治理:大key与热key问题的检测与解决

华为云开发者联盟

数据库 分布式数据库 key GaussDB (for Cassandra) 数据库治理

FabEdge 和 SuperEdge 联合在边缘 K8s 集群支持原生 Service 云边互访和 PodIP 直通

BoCloud博云

云原生 边缘计算 superedge FabEdge

crm软件有哪些比较好?国内目前好用的crm系统推荐!

低代码小观

CRM 管理系统 企业管理系统 CRM系统 客户关系管理系统

可观测性架构实践

郑印

【Quarkus技术系列】「云原生架构体系」打造基于Quarkus的云原生微服务框架实践

码界西柚

云原生 Quarkus 原生云 11月日更

彻底理解 AQS我是懂了,你呢?

何小事儿

Java 多线程 并发

揭秘 MatrixDB 数据库内核技术,可编程的数据库!

YMatrix 超融合数据库

数据库 时序数据库 分布式时序数据库 MatrixDB 超融合时序数据库

浅谈微信朋友圈架构设计

张平

架构实战营

别看是Java基础,很多人已入坑,java技术栈

Java 程序员 后端

10月书讯 | 跟着泰拉去冒险

图灵教育

编程 程序员 书单

利用碎片化的时间逆袭进百度,我的面试经历你敢听吗?

Java 程序员 后端

到了2020年,技术水平到底需要达到怎样的程度才能成为顶级的阿里P8架构师

Java 程序员 后端

判断对象是否已死分析总结——JVM系列,让人茅塞顿开

Java 程序员 后端

利用多condition动态管理池化的异步资源背景

Java 后端

糟糕程序员的20个坏习惯

Kaito

架构 程序人生 后端 编程修养

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