InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

New Relic升级RPM,改善了协作和集成性能

作者 Robert Bazinet 译者 杨晨 发布于 2009年3月29日

领域
架构 & 设计,
企业架构,
语言 & 开发
主题
性能和可伸缩性 ,
JRuby ,
Ruby ,
SaaS ,
Ruby on Rails
标签
性能评估 ,
Rails ,
Ruby on Rails ,
Rails插件

在对开发者的协作化和集成化工作进行了漫长的改进之后,New Relic终于发布了RPM 1.2

RPM 1.2引入了一些新特性,能够很好地处理当前让Ruby on Rails开发者比较头痛的地方。InfoQ在最近的一个会议上遇见了New Relic的CEO Lewis Cirne,借此机会,我们能够得到第一手的关于这些特性的信息。Lewis和我们一起讨论了这些特性,并且解释了这些特性将会如何在开发团队中使用。

当被问到名为“部署分析和追踪”的新特性是什么,以及为什么它对开发者来说是一个重要更新时,Lewis说道:

当开发者在应用程序中加入新的代码的时候,他们会在一个临时的环境中测试,然后当代码合格可以发布的时候,再使用例如Capistrano这样的部署工 具,将代码部署到产品中。部署是应用程序的生命周期中关系到性能和稳定性最重要的时间段之一。新的特性或者改变可能会引入未预见的性能问题。RPM现在以 如下方式支持这种关键的部署过程:首先,我们标记出每个部署的时间,在适当的时候提醒开发者应该在这个时间发布一个应用程序的最新版本,他们能够在每个图 中直观地看到版本部署前后性能的对比。其次,我们在一个存档文件中保存每个应用程序的所有关键的性能指示器,团队能够从中看到在版本的升级过程中性能的改 进情况。

开发者能够从这类工具中获取的信息显然是非常重要的,其详细程度决定了这个工具是否有用,Lewis告诉我们哪些我们可以期待:

对于应用程序每个部署的新版本,自从部署之时,RPM就保存了部署的名称、时间、负责人以及CPU平均占用情况、内存使用情况、应用程序反应时间、吞吐 量、数据库更新回应以及每分钟错误数。这个特性使得团队能够追踪器进程。同样能够帮助团队快速认识到他们发布的版本是否存在重大问题。使用RPM的深究功 能,用户可以在一个非常细的粒度上追踪问题──特定的SQL查询,特定的控制器行为等。

Lewis同样也告诉我们RPM集成了其他的开发交流工具的特性,包括那些我们经常使用的交流工具:

一个开发者团队会在工作中使用大量的工具来编码、测试、部署、设定工作优先级和交流。但是当团队快速开发以及面临截止日期的压力的时候,在不同的工具之间 转换是一件非常让人不爽的事情。这种情况经常需要在工具之间进行大量的剪切和粘贴。用户在使用RPM集成这些常用工具的时候,将不会面临这样的问题。 Twitter经常被团队用来进行交流,新的RPM支持当检测到应用程序中出现问题或者新的部署已经完成的时候,发送信息(tweet)到团队的账户。 Tweet包括RPM中的相关页面链接。Campfire是另外一个设计用来快速发布消息的工具。RPM同样能够发送事故警告以及部署通知到 Campfire帐户。Lighthouse是一个错误标签系统。在RPM的错误页面中,我们已经创建了一个链接,叫做“在Lighthouse上创建一 个标签”。点击这个链接,所有的错误数据都会发送到Lighthouse,并且一个问题标签会被自动创建。Capistrano是一个在Ruby on Rails社区非常流行的部署工具。RPM能够自动检测到应用程序的新部署,并且从Capistrano获取关于这次部署的信息,例如本次部署的负责人, 更新信息以及其他在出错时的有用数据。

Lewis继续谈论了新的性能数据API的前景以及第三方开放人员的机会:

事实上我们已经看到了一些关于此API的有趣的应用。这个API主要功能为如下两点──它自动从另外一个应用程序中创建一个New Relic RPM帐号,并且允许最高等级的性能数据转入其他的程序或者环境中。我们这个API的第一个大规模应用是RightScale,云管理工具的领导厂商。他 们将API函数和他们的云管理控制台集成在一起。所以现在可以通过云管理解决方案来监控部署在类似于Amazon EC2的云上的Rails应用程序。我们有一些其他的顾客和合作伙伴也在努力集成我们的API。有一个集成程序是将应用程序的数据在浏览器的状态栏上显 示。现在也有两个另外的云样例。我们现在举办了一个API的应用竞赛,鼓励我们的顾客更加创新地将我们的API集成进去。

RPM1.2的一个新特性是笔记的思想,使得团队成员能够更加方便快捷地交流。它是这样一种功能:

笔记是一个非常激动人心的特性,它被设计用来更好更丰富地在团队内部进行交流。任何拥有RPM帐户的人都能够看到这个应用程序的一些笔记。使用笔记功能, 任何RPM用户都能够截取一张性能图表,对其进行分析观察之后,发送他的笔记和这张图表到一个共享的协作空间中。然后,他可以截取另外一张图,进行分析研 究之后,附加在之前的笔记之后,然后继续进行分析。他可以允许他的团队成员检查他观察的内容并且从自身的角度来进行分析。图表、数据以及观察结果都会被存 储下来以供后续使用。这是一个非常优秀的教学工具。他们也使得团队可以在时间允许的情况下审视记录的数据,从而更好地理解应用程序的行为。

Rub on Rails开发者明白有一个高效的控制器和数据库存取是多么的重要。一个名为“控制器和数据库概要”的最新特性能够帮助开发者使用一些插件。这个特性描述如下:

这个特性提供的报告虽然相似,但是对于团队寻找持续改善性能的方法是非常有用的。开发者经常扪心自问的一个问题是“我下一步怎么做才能更好地改善性能 呢?”这些报告帮助他们找到了答案。控制器概要提供了一份报告,列出了应用程序中所有的控制器行为。RPM用户可以选择一个时间窗口,例如最近24小时。 RPM将每个控制器行为在当前时间窗口内的如下数据整合起来---控制器调用的时间,平均响应时间,平均时间的标准方差(有时候平均时间没有包括偶尔产生 的非常坏的响应时间──为什么?),最大最小响应时间(给出概要),时间窗口中控制器行为的总消耗时间以及每个控制器行为消耗时间的百分比。从这个报告 中,一个开发者可以看到哪个控制器调用最为频繁,其性能如何。数据库报告也和控制器报告类似,但是关注于分析ActiveRecord模型操作(数据库调 用)的性能。它给出了在一个时间窗口内所有的ActiveRecord操作,并且允许你使用一些标准对这些操作进行排序,例如总消耗时间、平均时间和吞吐 时间等等。你可以和昨天或者一周前的同一时间窗口内的操作进行对比,从中可以观察到应用程序的改进过程。

当问到哪一个特性对于开发者来说是最重要的,Lewis说:

虽然我不想像个经济学家,但是事实上我必须得像一个经济学家那样来说。我想部署特性将会被那些频繁更新程序的团队广泛接受。我们有一些顾客需要每天部署, 所以你可以想象这个特性的受欢迎程度。对于那些队员分散在世界各地的团队来说,我们的多样化集成和协作工具将会非常有用。最后如果你有一个程序需要大量的 数据库操作,并且依赖于优秀的

更多关于新RPM版本的信息请参见New Relic官方网站。可用的免费版本叫做RPM Lite,但是用户需要访问可用版本列表来决定哪个版本是最适合的。只需要大约两分钟来做这个决定。

查看英文原文:New Relic updates RPM to Improve Collaboration and Integration

译者 杨晨 对数据库和搜索引擎有深入了解,尤其擅长经典计算机科学理论,对历史学兴趣浓厚。

深度内容

大规模视频网站的计费与流量管理

本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011

专访Jeffrey Richter:Windows 8是微软的重中之重

Jeffrey Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffrey Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。