postgresql中的数据库连接超时错误

时间:2014-02-06 14:55:55

标签: ruby-on-rails ruby-on-rails-3 postgresql activerecord sidekiq

目前正在使用sidekiq运行backgroud作业,同时运行其给出“ActiveRecord :: ConnectionTimeoutError”。

This is my current database.yml file,

production:
  adapter: postgresql
  encoding: unicode
  database: app_production
  username: password
  password:
  host: app.domain.com
  pool: 25

这是我的sidekiq.yml文件,

production:
    concurrency: 25
    timeout: 300

运行其给定连接超时错误

这个错误是在背景中进行的,

could not obtain a database connection within 5 seconds (waited 5.82230675 seconds). The max pool size is currently 25; consider increasing it.

1 个答案:

答案 0 :(得分:8)

您的postgres数据库允许的最大连接数为25.但是您已将sidekiq的并发设置为25.因此,如果您运行sidekiq的所有并发线程,则您的应用服务器将无法使用任何数据库连接

减少sidekiq并发或增加池大小(我建议增加池大小)。

默认情况下,Postgres允许100个并发连接