2011-04-01 40 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以加快加载文件的速度。