Railsdatabase.ymlの次の設定について疑問に思っていました。
デフォルトでは、ActiveRecordの接続プールのデータベース接続数は5に設定されています。
development:
...
pool: 5
ただし、デフォルトでは、Rails3はシングルスレッドです。デフォルトで5つの接続が必要なのはなぜですか?
私が理解している限り、単一のスレッド化されたRailsアプリは、一度に複数のデータベース操作をトリガーすることはできません。なぜ、より多くの接続を開いたままにする必要があるのでしょうか。
2つの接続が理にかなっていると思いますので、もう1つがタイムアウトしても、常に1つのアクティブな接続がありますが、5つの接続を保持することは私には少し奇妙に思えます。
私は何かが足りないのですか?
更新他の誰かが興味を持っているなら、私はそれを説明するコミットを見つけました: https ://github.com/rails/rails/commit/b700153507b7d539a57a6e3bcf03c84776795051
実際、これらのデフォルト設定は意味がありません。修正されましたが、テストスイートのために一時的に(1年前に)元に戻されました。