限时领|《AI 百问百答》专栏课+实体书(包邮)! 了解详情
写点什么

使用 DTrace 改善 Rails 性能

  • 2007-05-15
  • 本文字数:734 字

    阅读完需:约 2 分钟

最近有三家公司一同协作,使用强大的开源进程内部观察工具 DTrace 来查找并修复 Rails 的一个重大延迟问题。

来自 Joyent Twitter 的团队,以及来自 Sun 的 DTrace 开发人员 Bryan Cantrill 一起通力协作,花费了一天时间详细研究了 Ruby 进程在 Rails 产品环境中的行为。这次合作的目的是为了使用这个动态跟踪框架来修正 Twitter 发现的一个延迟问题。DTrace 是开源项目 OpenSolaris 的一个组件,用于进程的鉴定分析,因此它用于检查和监视运行 Rails 应用的 Ruby 进程是再合适不过的了。

联合团队在他们的分析发现,在 Rails 中抛出和捕捉某个系列的异常会消耗大量的 CPU 时间,用于生成几百个帧长的异常回溯报告。探测和移除了这些异常以后,Rails 请求 / 响应周期的某些特定类出现的延迟现象得到了很大程度的改善。

Joyent 的 CTO 和联合创始人 Jason Hoffman 就 DTrace 所带来的好处表示

我们一直在使用 DTrace 来查明我们客户和我们自己的应用程序中性能问题。

尽管如此,他相信仍有改进空间,DTrace 提供的对 Ruby 进程的内部观察的级别仍然不够深。针对 Ruby 1.8.5 和 1.8.6 版的补丁目前正在开发之中,将为 DTrace 提供对 Ruby 内部更强大的窥探能力。Jason 也相信我们将通过 DTrace 了解到 更多关于 Rails 产品环境和 Ruby 进程的深入信息。随着向 FreeBSD 进行移植的开发工作和向 OS X Leopard 移植计划的开展,DTrace 将不再只是 Solaris 用户手中的玩物了。

有趣的是,这不仅仅是一个开源工具用于改善开源框架的成功故事,它同样也是开源软件开发过程的一个成功故事。在 Ticket 被提交之后的 11 个小时内,Rails 的创始人 David Heinemeier Hansson 就接纳了这个 Ticket,并将其加入 Rails 的最新版本之中,使之可以立即使用。

查看英文原文: Using DTrace to Improve Rails Performance

2007-05-15 19:001039
用户头像

发布了 117 篇内容, 共 18.9 次阅读, 收获喜欢 0 次。

关注

评论

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

模块四作业

Mr.He

架构实战营

腾讯技术官手撸笔记,全新演绎“Kafka部署实战”,已开源

Java~~~

Java MySQL 面试 MQ 架构师

毕业感想

薛定谔的指南针

架构实战营

安全世界观 | 常见WEB安全问题及防御策略汇总

架构精进之路

安全 8月日更

华为大佬的“百万级”MySQL笔记,基础+优化+架构一键搞定

Java~~~

Java MySQL 数据库 面试 架构师

其实,这就是「幸存者偏差」

非著名程序员

提升认知 认知提升 个人提升 8月日更

毕业设计作业

薛定谔的指南针

架构实战营

架构实战营模块四作业

王晓宇

架构实战营

单向数据流-从共享状态管理:flux/redux/vuex漫谈异步数据处理

zhoulujun

React Redux vuex vue2 状态机

06-高可用复杂度

Lane

手撸二叉树之二叉树中第二小的节点

HelloWorld杰少

数据结构与算法 8月日更

Github访问量破百万!原来是美团大牛的分布式架构实战笔记上线了

Java~~~

Java 面试 分布式 微服务 架构师

Java架构速成笔记:七大专题,1425页考点,挑战P8岗

Java~~~

Java spring 面试 微服务 架构师

初学字典-python

加里都好

设计千万级学生管理系统的考试试卷存储方案-模块四

小牧ah

架构实战营

JavaScript 开发人员应该理解的 this

devpoint

JavaScript js变量声明 this 8月日更

03- 面向复杂度的架构设计

Lane

13W字!腾讯高工手写“Netty速成手册”,3天能走向实战

Java~~~

Java 面试 微服务 Netty 架构师

从java注解漫谈到typescript装饰器——注解与装饰器

zhoulujun

Java 注解 装饰器 ts 元数据

04-可扩展架构

Lane

微信朋友圈的高性能复杂度分析

Saber

架构实战营

Android Jetpack Compose

Changing Lin

8月日更

新手小白花几个月勇敢裸辞转行网络安全

网络安全学海

网络安全 信息安全 转行 渗透测试 安全漏洞

阿里开发人员献礼“Java架构成长笔记”,深入内核,拒绝蒙圈

Java~~~

Java spring 面试 微服务 架构师

【架构实战营】毕业设计

swordman

架构实战营

三维旋转笔记:欧拉角/四元数/旋转矩阵/轴角-记忆点整理

zhoulujun

矩阵旋转 欧拉角 三维旋转 四元数

当农产品拥有“身份证”区块链技术如何助力农产品溯源监管?

CECBC

记录一次基于Qt的内存数据修改工具开发

星河寒水

qt 内存数据修改 Cheat Engine

05-高性能复杂度

Lane

架构实战营-毕业设计项目

阿体

模块四作业

秀聪

架构训练营

使用DTrace改善Rails性能_Ruby_Sam Aaron_InfoQ精选文章