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



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

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

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

  • https://devcenter.heroku.com/articles/rails-unicorn

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

查看heroku文档中的"Concurrency and Database Connections in Ruby with ActiveRecord",里面有非常详细的解释:

  • https://devcenter.heroku.com/articles/concurrency-and-database-connections

最新更新