2011-04-01 73 views
4

有三個問題。使用Ruby 1.9.2緩慢部署大型Rails 3應用程序

  1. 與耙運行capistrano任務是痛苦緩慢。我們需要在每個部署上做幾件事情,比如重啓DelayedJob,確保Thinking Sphinx是最新的,等等......我讀過Ruby 1.9的一個問題,就是必須檢查每個需求上的所有路徑,這將有望很快得到解決。但是是否有任何解決方案?

  2. 乘客實例啓動緩慢,可能與Ruby 1.9路徑問題相同,但是有沒有解決方法?

  3. Gemfile.lock會在每次耙和封頂呼叫時更新。改變總是一樣的。 +/-網SCP

有問題的應用程序被稱爲打開Active民主和位於這裏https://github.com/rbjarnason/open-active-democracy

回答

0

當你運行各種角色的幾臺服務器,這是正常的部署到取而。我的一個較大的應用程序需要10-15分鐘才能部署。用戶應該注意的唯一事情就是當乘客重新啓動時,只要應用程序的環境需要加載(我不認爲可以做任何事情)。

可能發生的最糟糕的事情是,如果您的網絡在長時間部署期間退出,這可能會使事情處於不受歡迎的狀態。這發生在我身上,這促使我寫captivate,以防止它再次發生......

0

更快的替代方案也可以使用whiskey_disk,描述爲「令人尷尬的快速部署」。這很簡單而有趣,可能正是你所需要的。

1

3)當然Gemfile.lock是罪魁禍首,它需要永遠更新一個gemfile,它不應該每次都需要更新。

我會嘗試手動只是在服務器上進行捆綁安裝,看看發生了什麼,也許你沒有在capistrano永久位置的包文件?您也可以嘗試將net-scp添加到Gemfile中以便快速修復。

在我的生產服務器,它看起來是這樣的:

[email protected]:/var/www/railsapp/current/.bundle# cat config 
--- 
BUNDLE_FROZEN: "1" 
BUNDLE_DISABLE_SHARED_GEMS: "1" 
BUNDLE_WITHOUT: development:test 
BUNDLE_PATH: /var/www/railsapp/shared/bundle 

2)啓動時間,構建並安裝修補1.9.2獲取文件加載加速的善良:

http://www.rubyinside.com/get-edge-ruby-faster-loading-ruby-1-9-2-now-4973.html

你也可以安裝ruby-1.9.2-p290以加快加載文件的速度。