web-dev-qa-db-ja.com

私のプールサイズはどのくらいの大きさにすべきですか? pgbouncerを使用する必要がありますか?

Rails 4つのユニコーンワーカーを使用するアプリケーションがあります。使用するpostgresqlデータベースプールのサイズを決定するにはどうすればよいですか?

そして、私がこのpostgresデータベースに接続する6つのアプリケーションを持っているなら、それは多すぎる接続でしょうか?代わりにpgbouncerを使用する必要がありますか?もしそうなら、なぜですか?

5
Ron Garrity

ここに進むには本当に十分ではありません。ほとんどの設定では、10の同時接続は多くありません。

私が提供できる最高のアドバイスは、簡単に始めて、パフォーマンスが問題になり始めている場合に遭遇し始めたら、問題であることがわかっていない限り、より複雑なソリューションを検討することです(たとえば、1000の同時ユーザーと何百万ものクエリ)毎日ウェブ)。そうでなければ、あなたは決して必要としないかもしれない複雑さを作り上げます。ただし、必ず機能しているソリューションを監視して、スケールアウトソリューションに注意してください(他のソリューションに加えて、この点に関してSlonyとPostgres-XCに注意することをお勧めします)。それらは複雑さの上限にありますが、必要なことをすべて実行できる何かが必要な場合は、それらが解決策です。

ただし、一般的に言っている同時接続数の場合、必要になるまで複雑なことを考える必要はありません。次に、ソリューションで何が必要かをよりよく理解します。

時期尚早の最適化は、すべての悪の根源です。

1
Chris Travers