Ruby on rails Rails 4:何时建立数据库连接?

Ruby on rails Rails 4:何时建立数据库连接?,ruby-on-rails,postgresql,heroku,Ruby On Rails,Postgresql,Heroku,我正在Heroku上部署Rails 4应用程序。当我查看可用的数据库计划时,我不明白“连接限制”是什么意思。“爱好层计划”的连接限制为20。下一层限制为60。现在我很好奇什么时候建立了数据库连接,这样我就可以计算出哪个计划最适合我。每个查询都有连接吗?因为如果是这样,那就意味着当时只有20个用户可以使用该应用程序。我想其中一些是缓存的,但无论如何,我不清楚这一点。提前感谢您的帮助!:) 当rails进程启动时,它将获取一个数据库连接并保持该连接,直到进程停止 对于大多数MRI Ruby应用程序,

我正在Heroku上部署Rails 4应用程序。当我查看可用的数据库计划时,我不明白“连接限制”是什么意思。“爱好层计划”的连接限制为20。下一层限制为60。现在我很好奇什么时候建立了数据库连接,这样我就可以计算出哪个计划最适合我。每个查询都有连接吗?因为如果是这样,那就意味着当时只有20个用户可以使用该应用程序。我想其中一些是缓存的,但无论如何,我不清楚这一点。提前感谢您的帮助!:)

当rails进程启动时,它将获取一个数据库连接并保持该连接,直到进程停止

对于大多数MRI Ruby应用程序,每个进程需要1个连接,您很可能在heroku上运行unicorn,每个dyno有3个工作线程,每个工作线程需要1个数据库连接。 当您连接到console
heroku时,请运行console
,该控制台将使用新的数据库连接,直到您注销控制台

如果您运行的是像jruby这样的线程Ruby,那么每个线程都需要自己的数据库连接

在heroku文档上签出“Ruby with ActiveRecord中的并发和数据库连接”,它有非常详细的解释:


好问题。似乎heroku会为你的每件事给你五分钱……我在rails上发现了一些东西
ConnectionPool
。这表明Heroku强制的连接限制是Rails应用程序可以同时向数据库发出的请求数。因此,如果限制为20,则第21次连接必须等待连接空闲。这将由Rails连接池自动完成。我会对此做更多的研究!