Heroku Postgres连接上限为5/20

时间:2018-03-10 02:34:45

标签: ruby postgresql heroku sinatra puma

我有一个使用Postgres在Heroku免费计划上运行的Sinatra应用程序,我尝试将数据库连接设置为20但是在我推送并运行heroku pg:info之后,连接仍然是5/20。即使我尝试对其进行loader.io加载测试,它也不会使用所有20个连接。

所以我想知道如何才能利用所有20个可用的连接,或者我在这里遇到一些误解?

# database.yml (for ActiveRecord)
production:
   adapter: postgresql
   encoding: unicode
   database: mydb
   username: <%= ENV['PG_USER'] %>
   password: <%= ENV['PG_PASS'] %>
   pool: <%= ENV['DB_POOL'] || ENV['RAILS_MAX_THREADS'] || 20 %>

# Procfile
web: bundle exec puma -t 5:20 -p $PORT

# puma.rb
preload_app!

on_worker_boot do
  ActiveSupport.on_load(:active_record) do
    ActiveRecord::Base.establish_connection
  end
end

# config.ru
require_relative './config/init'
use Rack::SSL if ENV['RACK_ENV'] == 'production'
run Sinatra::Application

Heroku上的DB_POOL变量已设置为20,但它仍然没有做任何事情。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我通过使用-C config/puma.rb

运行puma来修复此问题