我已经查看了有关stackoverflow的许多问题,但还没有找到解决我问题的方法。
我使用默认的webrick服务器在heroku上运行rails 4.0.2并且它工作正常,除了我会间歇性地得到这些错误:
ActiveRecord :: ConnectionTimeoutError(无法获取数据库 连接在5.000秒内(等待5.000秒)):
它会使整个网站停留很长一段时间。
我从其他答案中读到,使用rails 4.0.x存在问题,因此我已升级到rails 4.1.4并将查看问题是否仍在继续。
任何有关导致此问题以及如何解决此问题的帮助将不胜感激。
更新
因此,根据heroku文档以及我从相关问题中找到的内容,我已将myoku生产网络服务器从webrick升级到独角兽,并使用此处指定的默认配置:
https://devcenter.heroku.com/articles/rails-unicorn
也在这里:
https://devcenter.heroku.com/articles/concurrency-and-database-connections
我会观察并查看问题是否继续发生。
答案 0 :(得分:1)
这应该在各种4.1.x版本中修复;但它实际上只是固定在4.2。我有这个问题很长一段时间,升级到rails 4.2似乎已经修复了它,最后!
ActiveRecord :: ConnectionTimeoutError - 在master / future 4.2.0(#14360)中,在正常运行的应用程序中不再出现5.000秒内(池耗尽)无法获得数据库连接。如果你有比连接更多的线程,并且这些线程挂在连接上的时间太长,它仍然很可能耗尽你的池。