Ruby on rails 为什么Heroku上的数据库连接不足?
我们在Heroku上有一个带有Sidekiq的Rails应用程序,数据库连接已经用完Ruby on rails 为什么Heroku上的数据库连接不足?,ruby-on-rails,heroku,connection-pooling,sidekiq,Ruby On Rails,Heroku,Connection Pooling,Sidekiq,我们在Heroku上有一个带有Sidekiq的Rails应用程序,数据库连接已经用完 ActiveRecord::ConnectionTimeoutError: could not obtain a database connection within 5.000 seconds (waited 5.000 seconds) Heroku的东西: 数据库计划:标准0(120个连接) 网络动态:2个标准-2X 工人动态:1个标准-2X heroku配置: MAX_THREADS: 5 (DB
ActiveRecord::ConnectionTimeoutError: could not obtain a database
connection within 5.000 seconds (waited 5.000 seconds)
Heroku的东西:
数据库计划:标准0(120个连接)
网络动态:2个标准-2X
工人动态:1个标准-2X
heroku配置:
MAX_THREADS: 5
(DB_POOL not set)
(WEB_CONCURRENCY not set)
程序文件:
web: bundle exec puma -C config/puma.rb
worker: bundle exec sidekiq
database.yml:
...
production:
url: <%= ENV["DATABASE_URL"] %>
pool: <%= ENV["DB_POOL"] || ENV['MAX_THREADS'] || 5 %>
sidekiq.yml:
---
:concurrency: 25
:queues:
- [default]
我们还有一些rake任务,每10分钟启动一次,它们在一两秒钟内完成
当我们在sidekiq中进行大量消息处理时,问题似乎就发生了。我们做的事情如下:
---
:concurrency: 25
:queues:
- [default]