Rails 2.3 + Ruby 1.9.3启动速度仍然非常缓慢

问题描述:

当我听说Ruby 1.9.3将会将包含许多“require”语句的应用程序(如Rails应用程序)的启动时间减半时,我很兴奋,相比之下1.9.2。不幸的是,在升级之后,我的Rails 2.3.14应用程序的启动时间与以往一样糟糕。执行“脚本/控制台”后需要50秒钟才能获得提示。在那个时候,它执行了1499个“require”语句。Rails 2.3 + Ruby 1.9.3启动速度仍然非常缓慢

我的问题是,我该如何让它启动更快?

我用下面的代码片段在我的environment.rb文件的顶部来记录所有需要声明:

module Kernel 
def require_new(fn) 
    puts "#{Time.now.strftime('%Y-%m-%d %H:%M:%S')} #{fn}" 
    require_old(fn) 
end 
alias_method :require_old, :require 
alias_method :require, :require_new 
end 
+0

升级到Rails 3.2太 – shingara 2012-02-17 08:35:09

+0

@shingara,谢谢你的提示,虽然我们需要一个快速解决的Rails的升级将不幸的是需要一些时间。 Rails 3.2与Ruby 1.9相比,Rails 3.2的启动速度更快吗? – 2012-02-17 15:56:42

+0

你在使用什么操作系统?如果你在Windows上,我会推荐使用Linux或Mac。在同一硬件上,我的导轨控制台在Windows上的加载速度比在Linux上慢3到5倍。 – Evgenii 2012-02-18 13:43:12

恕我直言,红宝石1.9.3是开箱即用相当缓慢。你能做些什么来改善性能:

  1. 如果你使用p0,应用falcon补丁。在这里你可以找到: https://gist.github.com/1688857 包括调整好的环境变量的奖金。

  2. 得到新鲜出炉的Ruby 1.9.3-p125 http://www.ruby-lang.org/en/news/2012/02/16/ruby-1-9-3-p125-is-released/我检查过了,我的第一印象是性能比p0大。

  3. 升级Rails,就像评论中提到的用户shingara一样。

+0

感谢链接到猎鹰补丁,看起来很有希望。 – 2012-02-17 15:57:39

+0

猎鹰补丁是一个巨大的改进。谢谢! – 2012-03-02 07:05:20

+0

高兴地帮助:) – socjopata 2012-03-02 09:53:49