2012-02-17 193 views
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

回答

3

恕我直言,紅寶石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