2016-02-12 63 views
1

我正在將應用程序從Rails 3(最新版本)升級到Rails 4.0。這導致頁面加載時間極其緩慢。在一種情況下,以前在不到一秒內呈現的頁面現在需要超過4小時的時間才能加載。Rails 3 to Rails 4升級導致頁面加載時間異常緩慢

我們一直在試圖剖析應用程序,並且迄今爲止沒有得到任何幫助。

Before 

Rails 3.2.19 
Ruby 1.9.3-p547 

After 

Rails 4.0.13 
Ruby 1.9.3-p547 

[另外,我知道這不是一個很好的問題,因爲我沒有提供足夠的細節。我會編輯和添加詳細信息,因爲我可以獲得更多信息和/或如果有詳細信息可以提供給我,以幫助我提供更多反饋。我不想模糊我的帖子。我只是沒有狗屎去現在。]

+0

一個頁面如何在4個小時內加載?網絡服務器甚至允許長時間的請求嗎? – Mohamad

+0

您可以從分析您的應用程序開始,或者使用New Relic以開發模式查找瓶頸。 – spickermann

+0

@spickermann我把新的遺物和Ruby教授放在一起,具有諷刺意味的是,新的遺物拋出了一堆異常,所以我們一直沒能從中得到任何有用的東西。我們正在研究這一點,並在此期間採取其他方法進行分析。 – bigtunacan

回答

0

這原來是在軌道觀察員寶石性能問題。它可能與Github上描述的這個問題有關。

https://github.com/rails/rails-observers/issues/35

我們結束了猴子加載ActiveModel修補::作爲觀察員在發佈此修復仍然沒有被釋放的時間。

# config/initializers/rails_observer_monkey_patch.rb 
Rails.configuration.to_prepare do 
    ActiveModel::Observer.class_eval do 
    def self.observe(*models) 
     models.flatten! 
     models.collect! { |model| model.respond_to?(:to_sym) ? model.to_s.camelize.constantize : model } 
     redefine_method(:observed_classes) { models } 
    end 
    end 
end