写点什么

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

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

关注

评论

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

Java中高级核心知识全面解析——常用框架(Spring常用注解

Java 程序员 后端

Java初学01:学习路线,java基础入门清华大学出版社

Java 程序员 后端

Java基础27~使用JDBC+连接池,这篇文章可以满足你80%日常工作

Java 程序员 后端

Java多态大乱炖,mysql基础教程视频

Java 程序员 后端

Java学习路线和方法推荐,拿下我人生中第7个Offer

Java 程序员 后端

自由职业者靠什么赚钱?

石云升

职场经验 10月月更

第二模块作业

River Tree

架构实战营

Java中高级核心知识全面解析-容器(ArrayList)

Java 程序员 后端

Java内存问题 及 LeakCanary 原理分析,mybatis架构设计层次

Java 程序员 后端

Java几种常用JSON库性能比较,java接口开发面试

Java 程序员 后端

Java基础 - 单例(饿汉、懒汉),Runtime类,java教程推荐学客巴巴

Java 程序员 后端

Java基础25~XML和JSON解析,springbootoauth2教程

Java 程序员 后端

Java基础面试题整理,java数组排序sort原理

Java 程序员 后端

Java中高级核心知识全面解析——Dubbo,java语言入门自学书

Java 程序员 后端

Java基础 - 多态,抽象类,接口,linux源码学习

Java 程序员 后端

Java基础总结三(泛型、异常,阿里java面试题及答案

Java 程序员 后端

Java多线程 高频面试题,java架构师工作内容

Java 程序员 后端

Java学习笔记——正则表达式,平安金服java面试题

Java 程序员 后端

Java实现RPC(源码),java常见面试题

Java 程序员 后端

Java中的泛型,java程序执行过程与编译原理

Java 后端

Java基础面试题——IO流,springboot实战项目百度云

Java 程序员 后端

Java之Spring基础与IOC,java实用教程第五版答案第四章

Java 程序员 后端

JAVA代码审计之Shiro反序列化漏洞分析,浦发银行Java开发笔试题

Java 程序员 后端

Java基础09 面向对象~类和对象,阿里面试官必问

Java 程序员 后端

Spring是如何自动注入多类型的?

编号94530

spring bean @Autowired 自动注入

Java之StringUtils的常用方法,java整体项目架构图

Java 程序员 后端

Java如何支持函数式编程?,大专生面试阿里P7居然过了

Java 程序员 后端

Java反射的深入浅出,mongodb优化面试

Java 程序员 后端

架构实战模块二作业

吴霏

「架构实战营」

架构实战营模块二学习总结

吴霏

「架构实战营」

Java实现图的存储和创建,linux编程基础课后答案第二章

Java 程序员 后端

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