PG :: UnableToSend:在Rails 5中没有与服务器的连接

问题描述

我有2台服务器(A,B)。 我在A中运行Rails应用程序,在B中运行数据库。 在服务器B中,我正在运行pgbouncer和postgresql

当我在A中运行200个线程时,即使我将pgbouncer最大客户端连接数增加到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远程访问问题。 我认为这是远程访问问题。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...