rails 4.2升级后性能超级慢

Tar*_*len 11 ruby-on-rails heroku ruby-on-rails-4

我最近将rails从4.0.4升级到4.2,同样也是依赖.我在puma服务器上运行我的应用程序,我也将puma gem升级到最新的稳定版本.

问题是,在升级之后,我的大部分请求时间从1-2秒变为30+,导致Heroku超时

Puma连接文件

# Force heroku to bigger conenction pool
Rails.application.config.after_initialize do
  ActiveRecord::Base.connection_pool.disconnect!

  ActiveSupport.on_load(:active_record) do
    config = ActiveRecord::Base.configurations[Rails.env] || Rails.application.config.database_configuration[Rails.env]
    config['reaping_frequency'] = ENV['PUMA_DB_REAP_FREQ'] || 10 # Seconds
    config['pool']              = ENV['PUMA_DB_POOL'] || 20 # Puma can run up to 16 threads, perfect will be 80 (5x16), but heroku max is 20 for dev and basic
    ActiveRecord::Base.establish_connection(config)
  end
end
Run Code Online (Sandbox Code Playgroud)

Gemfile(只有相关的宝石)

source 'https://rubygems.org'
ruby '2.0.0'
gem 'puma', '2.10.2'
gem 'rails', '~> 4.2.0'
gem 'pg', '~> 0.18.0'
gem 'heroku'
gem 'responders', '~> 2.0'
Run Code Online (Sandbox Code Playgroud)

想知道为什么请求时间发生这么大的变化?

tpo*_*pol 2

自本文发布以来,Rails 4.2.0 的一些已知问题已得到解决,包括: https: //github.com/rails/rails/issues/18029。4.2.1 版本提供了一些改进,可能会更好地满足您的需求。

如果您正在使用 Engine Yard 运行 4.2.1 并且仍然遇到问题,请向 Engine Yard 支持提交票证,以便我们可以帮助您进一步调查此问题。