如何解决PG :: UnableToSend:在Rails 5中没有与服务器的连接
我有2台服务器(A,B)。 我在A中运行Rails应用程序,在B中运行数据库。 在服务器B中,我正在运行pgbouncer和postgresql。
当我在A中运行200个线程时,即使我将pgbouncer最大客户端连接数增加到500,也遇到了这个问题。pgbouncer pool_mode是会话。 Postgresql池为100。
如何避免此问题并运行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远程访问问题。 我认为这是远程访问问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。