PG::UnableToSend: Rails 5 中未连接到服务器

PG::UnableToSend: no connection to the server in Rails 5

我有 2 台服务器(A、B)。 我在 A 中 运行ning rails 应用程序和 B 中的数据库。 在服务器 B 中,我有 pgbouncer 和 postgresql 运行ning.

当我在 A 中 运行 200 个线程时,即使我将 pgbouncer max client connection 增加到 500,我也会遇到这个问题。并且 pgbouncer pool_mode 是会话。 Postgresql 池为 100。

我还在服务器 A 中将数据库池增加到 500。

我怎样才能避免这个问题并且 运行 200 个线程没有任何问题?

稍后,我更新了代码。删除 pgbouncer 并直接使用 postgresql。 创建了 2 个执行数据库操作的新线程,其他线程不再执行数据库操作。 当线程 运行 时,我正在监视活动连接。它使 3 保持活动状态。 但是在线程结束时,我遇到了这个问题。 我使用 ActiveRecord::Base.connection_pool.stat

显示连接池状态
{:size=>500, :connections=>4, :busy=>3, :dead=>0, :idle=>1, :waiting=>0, :checkout_timeout=>5}
rake aborted!
ActiveRecord::StatementInvalid: PG::UnableToSend: no connection to the server

有没有人可以帮我解决这个问题?

我合并了数据库实例和应用程序实例。 这样可行。 我仍然不确定它是数据库版本问题还是 postgresql 远程访问问题。 在我看来,这是远程访问问题。