写点什么

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

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

关注

评论

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

spring-boot-route(二)读取配置文件的几种方式

Java旅途

Java Spring Boot

[Python3]三子棋游戏!祝大家中国71周年国庆节快乐!

MengZian

Python

区块链可以为物联网做些什么?

CECBC

区块链 物联网

设计模式第三周作业「架构师训练营第 1 期」

天天向善

单例模式 组合模式

Week 3 Assignment

Yinan

架构师训练营 Week3 代码重构 - 学习总结 设计模式

spring 设计模式 JUnit

架构师训练营第 1 期 week3

张建亮

极客大学架构师训练营

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

成长者

极客大学架构师训练营

Springboot 邮件任务

hepingfly

springboot 发送邮件

vagrant 开发环境配置

孙志平

区块链3.0时代:大规模商业应用开发即将实现

CECBC

区块链 数字金融

集中日志系统ELK

Java个体户

ELK

架构师训练营第二周作业

xs-geek

week03

……

分布式系统的核心:共识问题

多颗糖

分布式计算 计算机基础 分布式系统 架构师

当区块链遇见共享经济,会碰撞出怎样的火花?

CECBC

区块链

设计模式第三周总结「架构师训练营第 1 期」

天天向善

为什么Rust的println!不会发生所有权转移?

袁承兴

rust 元编程

架构师训练营第二周总结

xs-geek

第三周-代码重构-学习总结

刘希文

Linux忘记root密码怎么办

MySQL从删库到跑路

Linux 服务器 root密码 root

LeetCode题解:242. 有效的字母异位词,数组计数,JavaScript,详细注释

Lee Chen

大前端 LeetCode

第三周作业

icydolphin

极客大学架构师训练营

Golang单例模式手写稿

Jacky.Chen

最完整的PyTorch数据科学家指南(2)

计算机与AI

学习 PyTorch

架构师训练营第三周命题作业

成长者

极客大学架构师训练营

架构师训练营第 1 期 week2 总结

张建亮

极客大学架构师训练营

Mongodb异常关闭,再次启动报错

MySQL从删库到跑路

mongodb

JD-GUI反编译jar包为Java源代码

MySQL从删库到跑路

Java jar 程序员 Spring Boot jar包的小秘密

第三周作业

极客大学架构师训练营

架构师训练营第 1 期 week2

张建亮

极客大学架构师训练营

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