4

存在三个问题。

  1. 与 rake 一样,运行 capistrano 任务非常缓慢。我们需要在每次部署时做几件事,比如重新启动 DelayedJob,确保 Thinking Sphinx 是最新的,等等......我已经读过 Ruby 1.9 存在一个问题,即必须检查每个要求的所有路径和这有望很快得到解决。但是上限部署有什么解决方法吗?

  2. 乘客实例启动也很慢,可能是同样的 Ruby 1.9 路径问题,但有什么解决方法吗?

  3. Gemfile.lock 会在每次 rake 和 cap 调用时更新。变化的总是同样的事情。+/- net-scp

有问题的应用程序称为 Open Active Democracy,位于此处https://github.com/rbjarnason/open-active-democracy

4

3 回答 3

1

3)罪魁祸首肯定是 Gemfile.lock,更新 gemfile 需要很长时间,而且每次都不需要更新。

我会尝试手动在服务器上进行捆绑安装,看看发生了什么,也许您没有将捆绑文件放在 capistrano 的永久位置?您也可以尝试将 net-scp 添加到您的 Gemfile 以快速修复。

在我的生产服务器上,它看起来像这样:

user@prodmachine:/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 以加快加载不那么前卫的文件。

于 2011-09-05T06:52:13.123 回答
0

当您运行一些具有不同角色的服务器时,部署需要一段时间是正常的。我的一个较大的应用程序最多需要 10-15 分钟才能部署。用户应该注意的唯一一件事是乘客重新启动时,这需要加载您的应用程序环境所需的时间(我认为对此无能为力)。

可能发生的最糟糕的事情是,如果您的互联网在长时间部署期间中断,这可能会使事情处于不良状态。这件事发生在我身上,这促使我写信captivate以防止它再次发生......

于 2011-04-05T08:38:05.413 回答
0

更快的替代方案也可能是使用whiskey_disk,被描述为“令人尴尬的快速部署”。它简单而有趣,可能正是您所需要的。

于 2011-05-29T21:59:31.820 回答