【问题标题】:Rails Bundler.require taking too long .As a result Phusion Passenger throws error on startupRails Bundler.require 花费太长时间。因此 Phusion Passenger 在启动时抛出错误
【发布时间】:2013-07-26 08:03:41
【问题描述】:

我正在尝试启动我的 phusion 乘客服务器。我得到的错误是

An error occurred while starting up the preloader: it did not write a startup response in time.

我从 phusion 乘客那里关注了这个 wiki https://github.com/phusion/passenger/wiki/Debugging-application-startup-problems

我发现我的 rails 应用程序卡在 Bundler.require 行的 config/application.rb 中。看起来我有很多宝石,并且 Bundler.require 需要很多时间,然后 phusion 乘客服务器退出。

我该如何克服这个问题。

这里是服务器链接http://zenkars.com/

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 apache bundler passenger


    【解决方案1】:

    一种选择可能是将需要您的宝石的时间推迟到实际需要时。您可以通过在 application.rb 文件中使用 Bundler.setup 而不是 Bundler.require 来执行此操作。有关详细信息,请参阅 Myron Marston 的文章,5 Reasons to Avoid Bundler.requireA Simple Rails Boot Time Improvement Pan Thomakos。

    然而,这可能只是延迟问题,导致请求缓慢而不是启动缓慢。最好跟踪哪些 gem 的要求最慢,看看是否有更新的版本或其他替代方法来加快它们。

    您也可以尝试更新版本的 Ruby,因为一些旧版本存在已知的性能问题,需要很多。有关详细信息,请参阅 Greg Price 的 Profiling Ruby, or, How I Made Rails Start Up Faster

    【讨论】:

      猜你喜欢
      • 2015-01-16
      • 2016-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-13
      • 2020-02-13
      相关资源
      最近更新 更多