database.ymlで設定できる最大プールサイズはいくつですか?MysqlDbを使用しています。
24コアの32GBRAMマシンで20個のユニコーンプロセスを実行しています。
database.ymlで設定できる最大プールサイズはいくつですか?MysqlDbを使用しています。
24コアの32GBRAMマシンで20個のユニコーンプロセスを実行しています。
MySQLのデフォルト設定は100接続です。
MySQL5.5ページから
LinuxまたはSolarisは、500〜1000の同時接続を定期的にサポートでき、数ギガバイトのRAMが使用可能で、それぞれのワークロードが低い場合、または応答時間が要求されない場合は、10,000までの接続をサポートできるはずです。そのプラットフォームで使用されるPosix互換性レイヤーのため、Windowsは(開いているテーブル×2 +開いている接続)<2048に制限されています。
自分で理解する必要があります。DBへの同時接続がボトルネックになるとは思いません。
Rails ConnectionPoolから:
接続プールは、スレッドアクセスを限られた数のデータベース接続に同期します。基本的な考え方は、各スレッドがプールからデータベース接続をチェックアウトし、その接続を使用して、接続を再度チェックインすることです。ConnectionPoolは完全にスレッドセーフであり、2つのスレッドが同時に接続を使用できないようにします。 、ConnectionPoolの契約が正しく守られている限り。また、接続よりもスレッドが多い場合も処理します。すべての接続がチェックアウトされ、スレッドが接続をチェックアウトしようとすると、ConnectionPoolは他のスレッドが接続をチェックインするまで待機します。
したがって、すべきでない唯一のことは、mysql構成よりもRailsプールサイズでより多くの接続を持つことです。