写点什么

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

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

关注

评论

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

洞悉MySQL底层架构:游走在缓冲与磁盘之间

帅旋

MySQL 数据库 MVCC

什么时候去面试

escray

同一浏览器只允许登录一个账号

码字与律动

Vue 大前端

程序员都惧怕的故障域

松花皮蛋me

Java 问题处理

【大厂面试02期】Redis过期key是怎么样清理的?

NotFound9

Java 数据库 redis 架构 后端

谈谈控制感(13):为什么是旁观者清?

史方远

读书笔记 个人成长 心理学 随笔杂谈

工作的创新能力

punkboy

产品 重新理解创业 产品经理 创新突破 创新

重学 Java 设计模式:实战适配器模式

小傅哥

设计模式 小傅哥 重构 代码质量 代码坏味道

【译】5 个你需要知道的 JavaScript 小技巧

零和幺

Java 大前端 技巧

深入理解JVM内存管理 - 堆和栈

Skye

堆栈 深入理解JVM VM参数

ARTS打卡week#1

对方正在输入…

ARTS 打卡计划

分布式事务 - 理论模型

Java收录阁

分布式事务

架构演变之路:为何要搞微服务架构?

帅旋

Kubernetes 微服务 dubbo SpringCloud

坚持ARTS-week2

王钰淇

ARTS 打卡计划

ARTS 01 - 技术人的理想主义

jerry.mei

算法 Vue 练习 ARTS 打卡计划 ARTS活动

LeetCode | 1. Two Sum 两数之和

Puran

Python C# 算法 LeetCode arts

有的线程它死了,于是它变成一道面试题。

why技术

源码分析 面试 jdk源码 线程池

Java 最新的JDK14.0.1调试成功

程李文华

centos7分区命令parted的用法(大于2T)

唯爱

Java 走过的创新25年

田晓旭

Java25周年

路漫漫其修远兮

无心水

程序员的晚餐 | 6 月 2 日 红烧鸡爪的味道

清远

美食

【Sentry搭建之 docker-compose】

卓丁

DevOps Docker-compose CI/CD sentry

一文入门JVM虚拟机

Simon郎

深入理解JVM

【vue-openlayers】弹窗

德育处主任

html Vue 大前端 openlayers ol

微信小程序开发 | 如何在小程序中使用自定义 icon 图标

彭宏豪95

微信小程序 学习 编程 大前端 IT

游戏夜读 | 如何管理公司?

game1night

SpringBatch系列入门之Tasklet

稻草鸟人

spring SpringBatch 批处理

初识 LeetCode

Puran

LeetCode arts

带你学够浪:Go语言基础系列 - 8分钟学控制流语句

程序员柠檬

后台开发 Go 语言

LeetCode | 2. Reverse Integer 整数反转

Puran

Python C# 算法 LeetCode arts

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