写点什么

FiveRuns:第一个产品级 Rails 管理套件

2007 年 6 月 06 日

正如以前所说,Rails 缺少用于管理和监控应用程序的生命周期的专业套件。随着行业第一个Rails 企业管理套件(RM-Install 和RM-Manage)的发布,FiveRuns 成为首先涉足这一领域的公司之一。该套件以管理Rails 应用全生命周期为目的,涵盖了从自动创建及维护一个完整的Rails 开发环境,到确保Rails 应用在生产中良好运行。

RM-Install是一个免费的、多平台测试过的、为企业准备的 Rails 堆栈,它能使公司马上着手开发和部署其 Rails 应用程序。

RM-Manager与 FiveRuns 企业管理平台无缝地集成在一起,来监控和管理 Rails 应用内以下框架领域的产品性能:

  • Controller 和 Action 性能——通过分析和统计来帮助识别应用程序时间开销在哪儿
  • ActiveRecord 交互——看哪个 model 被调用的次数最多及哪次交互最慢
  • View 性能和分析——关于全局和单个 View 调用和展示性能的详细信息
  • 缓存有效性——分析及报告片段和页面缓存
  • 数据库连接使用情况——应用的数据库连接使用详细分析
  • 事务分析——详细显示事务概览图(Transaction Profile)和统计数据

随后还有三个附加产品将帮助:Rails 应用投入产品使用前期(Pre-production)的性能测试、发布和端到端可视化。监控套件的一个局限是只能作为托管服务(Hosted Service——SaaS)来用,而不能作为单独应用使用。

InfoQ 有机会就 Rails、RM-Manage 和 FiveRuns 公司本身等问题采访了 FiveRuns 团队。感谢 Joshua Dilworth、Oliver Schmelzle 和 Olivier Thierry 在百忙之中接受采访!

关于 RM-Manage,你们说:“Rails 中没有 Hooks 或 API,可以被作为收集器来查看它的性能”。Stefan Kaes 所提供的 BleakHouse RailsBench 是怎样的工具呢?

使用 RM-Manage,我们开始创建一个解决方案,以允许管理员和开发者在真实的产品环境中监控他们的 Rails 应用。我们相信我们是第一个提供该解决方案的公司。 为达到这一目标,我们必须创建一个仪器层和通信基础设施来实时搜集所有重要的 Rails 信息,同时还不能影响产品应用的性能。我们还必须考虑多处理器、多机器上的典型分布式 Rails 应用的因素(即,跨多服务器的 Mongrel 包)。我们认为监控你的产品级 Rails 应用还需要了解你的程序整体运行环境的性能状态,包括操作系统、Web 服务器和数据库。这就是为什么 RM-Manage 是与 FiveRuns 管理平台直接集成在一起的原因。

我们认为 BleakHouse 和 RailsBench 对开发者来说是非常有用的工具。可是它们的关注点不同,用于产品环境就显得不够广泛和典型了。BleakHouse 是帮助发现 Rails 应用内存泄露的,但不能提供其它性能察看功能。而且它显著地减慢了单实例 Rails 应用的运行速度。RailsBench 是帮助针对目标 Rails 应用创建一个非实际环境下的加载。以允许为特定交易模式下的所有应用程序性能建立基准。但是,它不能直接提供实际产品部署环境下 Rails 应用的性能察看功能。

你们对最近 Twitter 团队所提出的用 DTrace 方法来跟踪 CPU 使用情况的方式有什么看法?你们认为 RM-Manage 也能监控像 Twitter 这样的应用吗?

DTrace 是一个不可思议的内核级工具,用来调试低级别的特定类型性能问题。对于 Twitter 的情况,我们了解到他们把 Ruby 解释器源码内嵌到了所谓的 DTrace 探测器中。这使得它们能更好的了解 Ruby 解释器是如何运转的以及它(Ruby 解释器)是怎样影响 Rails 框架的。 这种低级别的跟踪信息对 Ruby 解释器的开发者,以及在一定程度上对 Rails 核心团队来说是有用的。可是,一个典型的 Rails 应用的开发者将会被 DTrace 所提供的大量数据所淹没。

我们发现我们的客户想要了解的是许多实际的应用程序信息:哪个 Controller 执行得最慢?哪个 Action 被调用得最多?哪个 ActiveRecord 类对数据库造成了最多负载?

这些恰恰是 RM-Manage 的优势且 RM-Manage 提供了所有必要的信息——通过一个灵活的、基于 Web 的界面呈现给用户。DTrace 日志文件不能解决上述问题。

你们怎样去监视系统?你们正在用弱对象空间(Weak ObjectSpace)吗?你们使用被改良过的 RubyVM 吗?你们能监控 JROR(JRuby on Rails) 吗?

RM-Manage 仪器层被打包成 Rails 插件(plugin),而且 100% 用 Ruby 编写的。它不需要被改良的 Ruby 解释器或使用 ObjectSpace。由于该层是用 Ruby 编写的,因此也可以跑在像 JRuby 这样的其它 Ruby 实现上(前提是它们的解释器实现了所有 Ruby1.8.6 的功能)。但我们的仪器层还没有在 JRuby 上测试过。

为什么 RM-Manage 只能作为 SaaS(托管服务)使用?

对我们来说,SaaS 分发模式和认购定价(Subscription Pricing)是系统管理的方向。FiveRuns 管理平台提供了广泛的监控能力:覆盖到了操作系统、应用服务器、Web 服务器和数据库。对我们的客户来说易用性且基于 web 是很重要的。而且这也能使我们很快与其他竞争产品区分开。

你们有把它作为一个独立应用卖出去或开源的计划吗?

该 Rails 插件只对我们的智能客户端可用,而智能客户端又依次被我们的企业管理平台使用。该智能客户端 Rails 插件使得 Rails 应用性能信息和可用信息得以搜集,并最终显示在 RM-Manager 应用上。现在还没有开源仪器层(封装为 Rails 插件)的计划。

在波特兰的 RailsConf 上, FiveRuns 在 Rails 社区展示了他们的东西,并由 CEO Steven Smith 发表演说(“企业不是四个字母组成的单词”),他们还打出了引人注目的标题“如果V 代表烦恼:用于视图瘦身的模式”。Fiveruns 有14 个职员从事Rails 和Rico。他们的短期目标包括增加更详细的对Rails 栈其它部分的监控,例如Mongre 和PostgreSQL。长期目标,他们正在进化出一个全面的Rails 管理套件。

查看英文原文: FiveRuns: First Production Rails Management Suite

2007 年 6 月 06 日 21:00371
用户头像

发布了 150 篇内容, 共 35.6 次阅读, 收获喜欢 2 次。

关注

评论

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

每天都要写吗?

Nydia

用Python绘制地理图

计算机与AI

Python 绘图

聊聊「测试分工和测试时间」

清菡

测试

B站真题:如何判断括号是否有效?

王磊

Java 数据结构 算法

会用Docker的人都别装了,这多简单呐

MySQL从删库到跑路

MySQL Docker Linux yum redhat

Week 3学习总结

balsamspear

极客大学架构师训练营

迭代开发中的微服务拆分

码猿外

架构 微服务 微服务拆分 架构演进

架构师训练营第四周学习总结

听夜雨

极客大学架构师训练营

视读——沟通的艺术,看入人里,看出人外(第四章)

双儿么么哒

week04作业

追风

架构师一期

典型的大型互联网应用方案

garlic

极客大学架构师训练营

给新入职工程师的10条建议

supernova

管理 职场 工作方式

架构师训练营 1 期 -- 第四周作业

曾彪彪

极客大学架构师训练营

LeetCode题解:22. 括号生成,递归生成同时过滤,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

第四周总结

Geek_ac4080

Week 3命题作业

balsamspear

极客大学架构师训练营

自学编程,看书还是视频?

沉默王二

程序员 读书 自学编程 视频

第四课系统架构课后作业

Geek_michael

极客大学架构师训练营

week04总结

追风

架构师一期

WEEK4 学习总结

陈勇

极客大学架构师训练营

甲方日常 32

句子

随笔杂谈

一次用户故事地图之旅

Bruce Talk

敏捷开发 用户故事 Product Owner 用户故事地图

架构师训练营 1 期 -- 第四周总结

曾彪彪

极客大学架构师训练营

极客时间架构师培训 1 期 - 第 4 周作业

Kaven

架构师训练营第四周作业

听夜雨

极客大学架构师训练营

Spring 事务,你真的用对了吗(上篇)?

双儿么么哒

Spring MVC

架构师训练营第 1 期 - 第四周总结

Todd-Lee

极客大学架构师训练营

手把手教你分析Mysql死锁问题

捡田螺的小男孩

MySQL 死锁

十六、深入Python字符串

刘润森

Python

十五、深入Python输入和输出

刘润森

Python

WEEK4 一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述

陈勇

InfoQ 极客传媒开发者生态共创计划线上发布会

InfoQ 极客传媒开发者生态共创计划线上发布会

FiveRuns:第一个产品级Rails管理套件-InfoQ