写点什么

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

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

关注

评论

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

一次redis节点宕机引发的后续操作--部署哨兵集群

为自己带盐

redis redis哨兵模式 28天写作 签约计划第二季 12月日更

音视频学习--日常开发踩坑系列(1)

Fenngton

音视频 传输协议 签约计划第二季

看动画学算法之:二叉搜索树BST

程序那些事

数据结构 算法 程序那些事 12月日更

Java面向对象精讲【上】

XiaoLin_Java

面向对象 java基础 12月日更

『新华报』赛车飞艇群[手机乐乎]

天马行空

赛车飞艇群

DDD领域驱动设计落地实践系列:工程结构分层

慕枫技术笔记

后端 架构师 签约计划第二季

大厂算法面试之leetcode精讲20.字符串

全栈潇晨

算法 LeetCode

音视频学习--X264码率控制起航

Fenngton

音视频 视频编解码 签约计划第二季

「2021年11月复盘」买了个小太阳很暖和

宋天伦

复盘

日志归一管理的一种解决方案

为自己带盐

redis elasticsearch 28天写作 签约计划第二季 12月日更

23种设计模式第一种——单例模式

李子捌

28天写作 12月日更

Java应用线上事故排查实战

JavaEdge

内容合集 签约计划第二季

聊聊 Kafka: Kafka 的基础架构

老周聊架构

签约计划第二季

JVM分代回收机制和垃圾回收算法

Ayue、

JVM 技术专题合集

架构训练营 Week1 学习总结

红莲疾风

「架构实战营」

架构训练营 -- 模块一

LJK

架构训练营

【Dart 专题】Map 集合小结~

阿策小和尚

28天写作 0 基础学习 Flutter Android 小菜鸟 12月日更

音视频学习--新codec适配和兼容

Fenngton

音视频 视频编解码 签约计划第二季

RocketMQ存储设计到底强在哪?

慕枫技术笔记

架构 后端 28天写作 12月日更

flutter如何从TextWidget复制文本【Flutter专题17】

坚果

flutter 28天写作 12月日更

自动驾驶车辆控制 最终项目作业 实现分析 易筋 ARTS 打卡 Week 78

John(易筋)

ARTS 打卡计划

纯css实现117个Loading效果(上)

德育处主任

CSS 大前端 纯CSS 特效

react源码解析13.hooks源码

buchila11

React React Hooks

react源码解析14.手写hooks

buchila11

React React Hooks

音视频学习--VLC优化

Fenngton

音视频 RTSP 签约计划第二季

音视频学习--SRTP优化

Fenngton

音视频 传输协议 签约计划第二季

『新华报』飞艇分析工具[手机乐乎]

天马行空

飞艇分析工具

『新华报』飞艇开奖结果官网[手机乐乎]

天马行空

飞艇开奖结果官网

大厂算法面试之leetcode精讲19.数组

全栈潇晨

算法 LeetCode

『新华报』秒速飞艇开奖结果官网[手机乐乎]

天马行空

秒速飞艇开奖结果官网

『新华报』不建议强制上岸[手机乐乎]

天马行空

不建议强制上岸

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