Ruby on rails 为什么RubyonRails控制台启动非常慢?

Ruby on rails 为什么RubyonRails控制台启动非常慢?,ruby-on-rails,amazon-ec2,Ruby On Rails,Amazon Ec2,我在AmazonEC2(Ubuntu10.10)上的RubyonRails应用程序运行正常,但在服务器上启动RubyonRails控制台时速度非常慢。启动RubyonRails控制台大约需要3~5分钟。使用我可以看出这个过程使用了99%的时间。太慢了。为什么? 我使用的是Ruby1.9.2p290和RubyonRails 3.1.1。My Ruby on Railsgemfile.lock: GEM remote: http://rubygems.org/ specs: acti

我在AmazonEC2(Ubuntu10.10)上的RubyonRails应用程序运行正常,但在服务器上启动RubyonRails控制台时速度非常慢。启动RubyonRails控制台大约需要3~5分钟。使用我可以看出这个过程使用了99%的时间。太慢了。为什么?

我使用的是Ruby1.9.2p290和RubyonRails 3.1.1。My Ruby on Rails
gemfile.lock

GEM
  remote: http://rubygems.org/
  specs:
    actionmailer (3.1.1)
      actionpack (= 3.1.1)
      mail (~> 2.3.0)
    actionpack (3.1.1)
      activemodel (= 3.1.1)
      activesupport (= 3.1.1)
      builder (~> 3.0.0)
      erubis (~> 2.7.0)
      i18n (~> 0.6)
      rack (~> 1.3.2)
      rack-cache (~> 1.1)
      rack-mount (~> 0.8.2)
      rack-test (~> 0.6.1)
      sprockets (~> 2.0.2)
    active_utils (1.0.2)
      activesupport (>= 2.3.11)
      i18n
    activeadmin (0.4.0)
      bourbon (>= 1.0.0)
      devise (>= 1.1.2)
      fastercsv
      formtastic (>= 2.0.0)
      inherited_resources (< 1.3.0)
      jquery-rails (>= 1.0.0)
      kaminari (>= 0.13.0)
      meta_search (>= 0.9.2)
      rails (>= 3.0.0)
      sass (>= 3.1.0)
    activemerchant (1.20.2)
      active_utils (>= 1.0.2)
      activesupport (>= 2.3.11)
      braintree (>= 2.0.0)
      builder (>= 2.0.0)
      i18n
      json (>= 1.5.1)
      money (<= 3.7.1)
    activemerchant_patch_for_china (0.1.6)
      activemerchant (>= 1.4.2)
    activemodel (3.1.1)
      activesupport (= 3.1.1)
      builder (~> 3.0.0)
      i18n (~> 0.6)
    activerecord (3.1.1)
      activemodel (= 3.1.1)
      activesupport (= 3.1.1)
      arel (~> 2.2.1)
      tzinfo (~> 0.3.29)
    activeresource (3.1.1)
      activemodel (= 3.1.1)
      activesupport (= 3.1.1)
    activesupport (3.1.1)
      multi_json (~> 1.0)
    arel (2.2.1)
    bcrypt-ruby (3.0.1)
    bourbon (1.3.6)
      sass (>= 3.1)
    braintree (2.13.2)
      builder (>= 2.0.0)
    builder (3.0.0)
    devise (2.0.0)
      bcrypt-ruby (~> 3.0)
      orm_adapter (~> 0.0.3)
      railties (~> 3.1)
      warden (~> 1.1)
    erubis (2.7.0)
    execjs (1.2.9)
      multi_json (~> 1.0)
    fastercsv (1.5.4)
    formtastic (2.0.2)
      rails (~> 3.0)
    gravatar_image_tag (1.0.0)
    guid (0.1.1)
    has_scope (0.5.1)
    hike (1.2.1)
    i18n (0.6.0)
    inherited_resources (1.2.2)
      has_scope (~> 0.5.0)
      responders (~> 0.6.0)
    jquery-rails (1.0.19)
      railties (~> 3.0)
      thor (~> 0.14)
    json (1.6.1)
    kaminari (0.13.0)
      actionpack (>= 3.0.0)
      activesupport (>= 3.0.0)
      railties (>= 3.0.0)
    libv8 (3.3.10.4)
    mail (2.3.0)
      i18n (>= 0.4.0)
      mime-types (~> 1.16)
      treetop (~> 1.4.8)
    meta_search (1.1.3)
      actionpack (~> 3.1)
      activerecord (~> 3.1)
      activesupport (~> 3.1)
      polyamorous (~> 0.5.0)
    mime-types (1.17.2)
    money (3.7.1)
      i18n (~> 0.4)
    multi_json (1.0.3)
    orm_adapter (0.0.6)
    polyamorous (0.5.0)
      activerecord (~> 3.0)
    polyglot (0.3.3)
    rack (1.3.5)
    rack-cache (1.1)
      rack (>= 0.4)
    rack-mount (0.8.3)
      rack (>= 1.0.0)
    rack-ssl (1.3.2)
      rack
    rack-test (0.6.1)
      rack (>= 1.0)
    rails (3.1.1)
      actionmailer (= 3.1.1)
      actionpack (= 3.1.1)
      activerecord (= 3.1.1)
      activeresource (= 3.1.1)
      activesupport (= 3.1.1)
      bundler (~> 1.0)
      railties (= 3.1.1)
    railties (3.1.1)
      actionpack (= 3.1.1)
      activesupport (= 3.1.1)
      rack-ssl (~> 1.3.2)
      rake (>= 0.8.7)
      rdoc (~> 3.4)
      thor (~> 0.14.6)
    rake (0.9.2.2)
    rdoc (3.11)
      json (~> 1.4)
    responders (0.6.5)
    sass (3.1.14)
    sass-rails (3.1.5)
      actionpack (~> 3.1.0)
      railties (~> 3.1.0)
      sass (~> 3.1.10)
      tilt (~> 1.3.2)
    sprockets (2.0.3)
      hike (~> 1.2)
      rack (~> 1.0)
      tilt (~> 1.1, != 1.3.0)
    sqlite3 (1.3.4)
    therubyracer (0.9.9)
      libv8 (~> 3.3.10)
    thor (0.14.6)
    tilt (1.3.3)
    treetop (1.4.10)
      polyglot
      polyglot (>= 0.3.1)
    tzinfo (0.3.31)
    uglifier (1.1.0)
      execjs (>= 0.3.0)
      multi_json (>= 1.0.2)
    warden (1.1.0)
      rack (>= 1.0)
    will_paginate (3.0.2)

PLATFORMS
  ruby

DEPENDENCIES
  activeadmin
  activemerchant
  activemerchant_patch_for_china
  gravatar_image_tag
  guid
  jquery-rails
  meta_search (>= 1.1.0.pre)
  rails (= 3.1.1)
  sass-rails
  sqlite3
  therubyracer
  uglifier (>= 1.0.3)
  will_paginate
GEM
远程:http://rubygems.org/
规格:
actionmailer(3.1.1)
actionpack(=3.1.1)
邮件(~>2.3.0)
actionpack(3.1.1)
活动模型(=3.1.1)
主动支持(=3.1.1)
生成器(~>3.0.0)
erubis(~>2.7.0)
i18n(~>0.6)
机架(~>1.3.2)
机架缓存(~>1.1)
机架安装(~>0.8.2)
机架测试(~>0.6.1)
链轮(~>2.0.2)
有效效用(1.0.2)
activesupport(>=2.3.11)
i18n
activeadmin(0.4.0)
波旁威士忌(>=1.0.0)
设计(>=1.1.2)
fastercsv
formtastic(>=2.0.0)
继承的_资源(<1.3.0)
jquery rails(>=1.0.0)
卡米纳里(>=0.13.0)
元搜索(>=0.9.2)
轨道(>=3.0.0)
sass(>=3.1.0)
activemerchant(1.20.2)
有效效用(>=1.0.2)
activesupport(>=2.3.11)
大脑树(>=2.0.0)
生成器(>=2.0.0)
i18n
json(>=1.5.1)
货币(=1.4.2)
activemodel(3.1.1)
主动支持(=3.1.1)
生成器(~>3.0.0)
i18n(~>0.6)
activerecord(3.1.1)
活动模型(=3.1.1)
主动支持(=3.1.1)
arel(~>2.2.1)
tzinfo(~>0.3.29)
activeresource(3.1.1)
活动模型(=3.1.1)
主动支持(=3.1.1)
activesupport(3.1.1)
多重json(~>1.0)
arel(2.2.1)
bcrypt ruby(3.0.1)
波旁威士忌(1.3.6)
sass(>=3.1)
脑树(2.13.2)
生成器(>=2.0.0)
建筑商(3.0.0)
设计(2.0.0)
bcrypt红宝石(~>3.0)
orm_适配器(~>0.0.3)
钢轨(~>3.1)
监狱长(~>1.1)
erubis(2.7.0)
execjs(1.2.9)
多重json(~>1.0)
fastercsv(1.5.4)
formtastic(2.0.2)
轨道(~>3.0)
gravatar_图像_标签(1.0.0)
guid(0.1.1)
具有_范围(0.5.1)
徒步旅行(1.2.1)
i18n(0.6.0)
继承的资源(1.2.2)
具有\u范围(~>0.5.0)
响应者(~>0.6.0)
jquery rails(1.0.19)
钢轨(~>3.0)
雷神(~>0.14)
json(1.6.1)
卡米纳里(0.13.0)
actionpack(>=3.0.0)
activesupport(>=3.0.0)
钢轨(>=3.0.0)
libv8(3.3.10.4)
邮件(2.3.0)
i18n(>=0.4.0)
mime类型(~>1.16)
树梢(~>1.4.8)
元搜索(1.1.3)
actionpack(~>3.1)
activerecord(~>3.1)
activesupport(~>3.1)
多元(~>0.5.0)
mime类型(1.17.2)
金钱(3.7.1)
i18n(~>0.4)
multi_json(1.0.3)
orm_适配器(0.0.6)
多妻制(0.5.0)
activerecord(~>3.0)
polyglot(0.3.3)
机架(1.3.5)
机架缓存(1.1)
机架(>=0.4)
机架安装(0.8.3)
机架(>=1.0.0)
机架ssl(1.3.2)
支架
机架测试(0.6.1)
机架(>=1.0)
轨道(3.1.1)
actionmailer(=3.1.1)
actionpack(=3.1.1)
活动记录(=3.1.1)
活动资源(=3.1.1)
主动支持(=3.1.1)
捆扎机(~>1.0)
栏杆(=3.1.1)
栏杆(3.1.1)
actionpack(=3.1.1)
主动支持(=3.1.1)
机架ssl(~>1.3.2)
耙(大于等于0.8.7)
rdoc(~>3.4)
雷神(~>0.14.6)
耙(0.9.2.2)
rdoc(3.11)
json(~>1.4)
响应者(0.6.5)
sass(3.1.14)
sass轨道(3.1.5)
actionpack(~>3.1.0)
钢轨(~>3.1.0)
sass(~>3.1.10)
倾斜(~>1.3.2)
链轮(2.0.3)
徒步旅行(~>1.2)
机架(~>1.0)
倾斜(~>1.1,!=1.3.0)
sqlite3(1.3.4)
瑟鲁比拉克(0.9.9)
libv8(~>3.3.10)
雷神(0.14.6)
倾斜(1.3.3)
树梢(1.4.10)
多语言文字
多克隆(>=0.3.1)
tzinfo(0.3.31)
丑八怪(1.1.0)
execjs(>=0.3.0)
multi_json(>=1.0.2)
监狱长(1.1.0)
机架(>=1.0)
将分页(3.0.2)
平台
红宝石
依赖关系
活动管理员
活跃商人
适用于中国的activemerchant\u补丁
gravatar_图像_标签
指南
jquery rails
元搜索(>=1.1.0.pre)
轨道(=3.1.1)
sass轨道
sqlite3
瑟鲁比拉克
uglifier(>=1.0.3)
你会同意吗

我还发现服务器上的
rake db:migrate
也非常慢,就像Ruby on Rails控制台一样。

更新:似乎你在我编辑答案时更新了你的问题

它可能启动缓慢,因为它可能正在交换。EC2以速度慢而闻名,根据您为EC2选择的实例大小,Rails应用程序可能会占用您所有的内存

上一个问题:

LMGTFY:

很可能您正在使用Passenger为Rails应用程序提供服务,该应用程序将使用机架适配器(和配置)加载它

您看到的是,您的应用程序在机架后运行

如果你认为它会占用大量内存:试着减少依赖关系,因为你添加的宝石越多,内存中加载的东西就越多


例如,您可以更改rubyracer(取决于libv8),并将其全部替换为NodeJS。这将稍微减少应用程序的内存占用。

可能与此相关:我不明白你为什么否决了一个有效的答案。我发帖时,你显然编辑了你的问题。请阅读更新后的回复。另外,请提供实例大小的详细信息(您没有提供),我不会投您反对票。我正在使用免费的EC2实例。谢谢你,路易斯。我目前正在m1.small实例上使用EC2测试一个相当gem繁重的应用程序的暂存设置。这是一个相当小的房间。我在原始和更新的帖子中遇到了问题。您是否有一个最小的实例大小可以正常工作?