QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

Rails 1.2 性能不如 1.1?

  • 2007-04-09
  • 本文字数:745 字

    阅读完需:约 2 分钟

Stefan Kaes 自 2005 年加入 Rails 核心开发团队,并撰写了 InfoQ 2006 年最受欢迎的文章《Rails 常见性能问题一览》。他的 Rails 性能测试工具 Railsbench 刚刚发布了 0.9.2 版本。Railsbench 是一个 Ruby 和 Shell 的集合,可以帮助我们轻而易举地测试 Rails 应用的原始性能。目前对 HTTP POST 进行基准测试的功能已经得到支持,并有一些新特性加入,这些特性将影响到Railsbench 的benchmarks.yml 配置文件的格式,以及对PNG 图片文件的生成。

Stefan 拿着新版本现炒现卖,对Rails 1.1-stable 和1.2-stable 进行性能比较。测试套件涵盖简单渲染(Simple Rendering)、Action 缓存(Action Cached)和Session 创建(Session Creation)的方面,套件运行时使用了pstore、ActiveRecordStore 和SqlSesionStore 三种Session 配置方案。

Stefan 的测试结果显示,1.2-stable 比 1.1 性能降低 20%。他发表了一份完整报告,其中的评论和建议转载如下:

  • 先前关于 Rails 1.2 性能只及 1.1 一半的报告是对 Rails 性能的心理恐惧战术(译者按:原文是 FUD,是恐惧(Fear)、不确定(Uncertainty)和疑虑(Doubt)的缩写,原指垄断巨头对于弱小竞争者的一种竞争策略。Stefan Kaes 在此使用这个说法的原因是 Alrond 之前写的一篇文章,关于 6 个领先的动态语言 Web 框架的性能测评,结论之一是 Rails 1.2 只及 1.1 性能的一半。值得注意的是,Alrond 对 Web 框架的偏好似乎是 Django。)
  • Action 缓存方面值得引起一定注意
  • 绝对不要选择 pstore 做为 Session 容器
  • 由于缓慢的 GC 和 Ruby 解析器的大量额外性能开支,使用当前的解析器要避免性能下降似乎可能不大。使用 YARV 可能会带来改观。

这个问起看来还是存在:Rails 核心团队是否在 Rails 1.2 中拿新特性牺牲了性能?下一个稳定发布版的重心是否会放在性能方面?

2007-04-09 00:00837
用户头像

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

关注

评论

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

React Context源码是怎么实现的呢

flyzz177

React

损失高达3亿美元|如何保护源代码安全?

SEAL安全

12 月 PK 榜 源代码安全 最小权限管理 零信任模型

IoT高级设备检索——设备管理运维类

阿里云AIoT

数据库 监控 物联网 传感器 Cloud Native

借用FinClip把小程序游戏运行到自有App中

Onegun

小游戏 小游戏开发 微信小游戏

React源码分析2-深入理解fiber

goClient1992

React

手把手教你构建数据安全体系,守住安全合规红线

王巍

数据安全

百度 Android 直播秒开体验优化

百度Geek说

android 百度app 12 月 PK 榜 直播优化

React源码解读之React Fiber

flyzz177

React

极客时间运维进阶训练营第七周作业

9527

Git实战(五)| 让工作更高效,搞定Git的分支管理

霍格沃兹测试开发学社

做了一份前端面试复习计划,保熟~

loveX001

JavaScript

掌握 CORS 跨域请求,读这一篇文章就够了

范家鹏

HTTP CORS 跨域 异步请求 跨域资源共享

跨机房ES同步实战

京东科技开发者

迁移 迁移数据 异步多活 Elastic Search 数据库·

区块链“入局”证券市场,未来前景有多大?

旺链科技

区块链 产业区块链 证券行业 12 月 PK 榜

用javascript分类刷leetcode3.动态规划(图文视频讲解)

js2030code

JavaScript LeetCode

前端刷完这12道滑动窗口,就可以出山面试了

js2030code

JavaScript LeetCode

Git实战(四)| Git分支管理实操,搞定在线合并和本地合并

霍格沃兹测试开发学社

潦草手写体也能轻松识别,快速提取文字不用愁

HarmonyOS SDK

HMS Core

ReactDOM.render在react源码中执行之后发生了什么?

flyzz177

React

前端工程师leetcode算法面试必备-二分搜索算法(上)

js2030code

JavaScript LeetCode

群晖DS218+做maven私服(nexus3)

程序员欣宸

maven 12月月更 群晖

深入理解JS作用域链与执行上下文

loveX001

JavaScript

React源码分析1-jsx转换及React.createElement

goClient1992

React

算法 KECP 被顶会 EMNLP 收录,极少训练数据就能实现机器阅读理解

阿里云大数据AI技术

自然语言处理 机器学习 12 月 PK 榜 机器阅读

前端面试题(附答案)

loveX001

JavaScript

KAFKA EAGLE 监控MRS kafka之操作实践

华为云开发者联盟

开发 华为云 12 月 PK 榜

前端面试指南之JS面试题总结

loveX001

JavaScript

基于阿里云IoT平台OTA进行APP确认升级的方案——业务架构类

阿里云AIoT

物联网 UED 数据格式

2小时开发《点球射门游戏》,动画演示思路(上),代码已开源

非喵鱼

Java 开源 游戏 12 月 PK 榜 世界杯足球游戏

软件测试 | 版本控制神器GitHub的基本使用与踩坑

测试人

GitHub 软件测试 自动化测试 测试开发

Rails 1.2性能不如1.1?_Ruby_Sebastien Auvray_InfoQ精选文章