写点什么

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

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

关注

评论

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

今年夏天,最不该错过的一场 AI 聚会

RTE开发者社区

SpringBoot项目的html页面使用axios进行get post请求

刘大猫

人工智能 算法 post GET axios

全新小艺上车鸿蒙智行尊界S800,启领智慧出行新范式

极客天地

Web端实时通信技术SSE在携程机票业务中的实践应用

JackJiang

网络编程 即时通讯 IM

【HarmonyOS 5】鸿蒙中的UIAbility详解(三)

GeorgeGcs

1688商品评论API接口攻略

tbapi

1688商品评论接口 1688评论API 1688评论数据采集

鲲鹏Arm+麒麟V10,国产化信创 K8s 离线部署保姆级教程

北京好雨科技有限公司

k8s rainbond 容器平台 企业号 5 月 PK 榜 信创国产化

基于YOLOv8的汽车车牌位置实时检测项目【完整源码数据集+PyQt5界面+完整训练流程+开箱即用!】

申公豹

yolov8

鸿蒙仓颉语言开发实战教程:实现商品分类页

幽蓝计划

互联网大厂1000道Java面试题及答案整理

Geek_Yin

Java 程序员 Java面试题 Java面试八股文

从试验田到深水区,AI落地的福州答卷

脑极体

AI

【HarmonyOS 5】Laya游戏如何鸿蒙构建发布详解

GeorgeGcs

H5 HarmonyOS 小游戏 Laya 构建鸿蒙

鸿蒙仓颉语言开发教程:自定义弹窗

幽蓝计划

Shiro简介及SpringBoot集成Shiro(狂神说视频简易版)

刘大猫

人工智能 算法 数据分析 权限控制 shiro

Redis 数据恢复的月光宝盒,闪回到任意指定时间

Baidu AICLOUD

数据库 redis

明基专业编程显示屏618优惠,程序员入手就趁现在!

陈老老老板

5 分钟搞定 Go 自定义结构体标签

俞凡

golang

1688店铺订单接口指南攻略

tbapi

1688订单物流接口 1688店铺订单接口 1688店铺订单详情接口

Java学习书籍推荐!

程序员高级码农

Java 程序员 计算机

DeepSeek‑R1-0528 重磅升级:蚂蚁百宝箱免费、无限量调用

猫头虎

人工智能 DeepSeek DeepSeek v3 DeepSeek R1 模型

是时候跟虚拟机说再见了?

北京好雨科技有限公司

k8s rainbond 容器平台 企业号 5 月 PK 榜 信创国产化

华为浏览器上线高考频道,打造一站式智慧助考服务

最新动态

[大厂实践] LLM加速大规模测试迁移

俞凡

人工智能 测试

【HarmonyOS 5】鸿蒙中的UIAbility详解(二)

GeorgeGcs

华为开发者空间 - MindSpore魔法课堂:手把手教你玩转AI框架

华为云开发者联盟

Jupyter Notebook 昇思MindSpore AI‘’ 华为开发者空间

时序数据库 Apache IoTDB V2.0.3 发布|新增元数据导入导出脚本适配表模型功能

Apache IoTDB

Redis 集群操作配置(超详细配图,配截图详细说明)

量贩潮汐·WholesaleTide

redis

HAProxy 可观测性最佳实践

观测云

HAProxy

2025年中高级JAVA工程师面试题汇总

Geek_Yin

Java 编程 Java面试题 Java面试八股文

《算法导论(第4版)》阅读笔记:p173-p174

codists

算法

【HarmonyOS 5】鸿蒙中的UIAbility详解(一)

GeorgeGcs

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