10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

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

关注

评论

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

CSS页面设计稿构思与实现(五)之border-radius

Augus

CSS 11月日更

.NET6新东西--Random.Shared

喵叔

11月日更

一个基于web服务器的PoW案例(二)

Regan Yue

区块链 11月日更 趣讲区块链

聊聊开源精神

baiyutang

11月日更

ALB Ingress 发布!轻松应对云原生应用流量管理

阿里巴巴云原生

阿里云 容器 云原生 ALB

自动化测试之框架分类与思考

刘冉

软件测试 自动化测试

Vue进阶(幺柒捌):延伸阅读Sass、Scss、Less与Stylus编程特性

No Silver Bullet

CSS Vue 11月日更

区块链在营销方面的应用探索

石云升

区块链 区块链应用 11月日更

学生管理系统详细架构文档练习

御道而行

架构实战营

今天参加了“2021全球架构师峰会”...

后台技术汇

11月日更 全球架构师峰会

外包学生管理系统设计文档

波波

「架构实战营」

今年双 11,阿里业务 100% 上云,云原生有哪些技术亮点?

阿里巴巴云原生

阿里云 技术 云原生 双11

如何用20分钟就能获得同款企业级全链路灰度能力?

阿里巴巴云原生

阿里云 微服务 云原生 MSE

进击的Java(五)

ES_her0

11月日更

Android C++系列:JNI调用时的异常处理

轻口味

c++ android jni 11月日更

了解一下OpenVINO的API

IT蜗壳-Tango

11月日更

【LeetCode】检测大写字母Java题解

Albert

算法 LeetCode 11月日更

【Promise 源码学习】第六篇 - 实现 Promise 的链式调用

Brave

源码 Promise 11月日更

Prometheus HTTP API 查询(七)管理员接口

耳东@Erdong

Prometheus PromQL HTTP API 11月日更

外包学生管理系统架构文档

zjluoyue

在线文本转拼音工具

入门小站

工具

架构训练营 - 模块 3 作业

焦龙

架构实战营

#低码系列#低代码来了,程序员会失业吗?

布鲁

低代码开发 低代码平台

架构实战营-模块四

瓜子葫芦侠

「架构实战营」

性能测试之问题与思考

刘冉

软件测试 性能测试 软件自动化测试

测试策略实践之移动应用的测试策略与测试架构

刘冉

软件测试 软件自动化测试 移动测试

linux检测系统是否被入侵(下)

入门小站

Linux

mongoDB 简单的索引类型

liuzhen007

11月日更

Lua-复合变量

Changing Lin

11月日更

【高并发】深度解析线程池中那些重要的顶层接口和抽象类

冰河

Java 并发编程 多线程 高并发 异步编程

软件测试新趋势-2018

刘冉

软件测试 软件自动化测试

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