我想知道 Rails database.yml 中的以下设置:
默认情况下,ActiveRecord 的连接池的数据库连接数设置为 5:
development:
...
pool: 5
但默认情况下,Rails 3 是单线程的。为什么默认需要 5 个连接?
据我了解,单线程 Rails 应用程序不能一次触发多个数据库操作,为什么需要保持更多连接打开?
我会假设 2 个连接是有意义的,所以即使另一个超时,你也总是有一个活动连接,但保持五个连接对我来说似乎有点奇怪。
我错过了什么吗?
更新如果其他人很好奇,我刚刚找到了一个解释它的提交: https ://github.com/rails/rails/commit/b700153507b7d539a57a6e3bcf03c84776795051
事实上,这些默认设置没有任何意义,它已被修复,但由于测试套件而暂时恢复(一年前)。