(小さな)サーバーファームをGoogle Cloud Platformに移行しようとしているので、アーキテクチャのスタイルを少し変更します。私がコミットしようとしている変更の1つは、プーリングを管理するためのpgBouncerの導入です(ATM私はDebian Jessieを備えたDBサーバーを1つしか持っていません)。
しかし、私はどこにも見つけることができません(またはグーグルスキルを向上させる必要があります:-))この種の情報:
PostgreSQLが実行されているのと同じマシンにpgBouncerをインストールすると、パフォーマンスに影響しますか? (私の主な関心事はI/Oですが、CPUとメモリは常に改善できます)。別の場所にインストールする方が良いですか?
前もって感謝します
極端なパフォーマンス要件(またはひどくパワー不足のハードウェア)を使用していない限り、DBサーバーでpgbouncerを実行しても目立たないと思います。ただし、考慮したいのは、DBクライアントとサーバー間のネットワーク接続です。具体的には、pgbouncerをクライアントに配置すると、DBサーバーへの「ネットワーク経由」接続が確立され、TCPハンドシェイクが繰り返されるのを避けて、それらが存続します。その後、クライアントはpgbouncerへの非常に迅速なローカル接続を確立しています。pgbouncerをDBサーバーに配置した場合、ネットワーク接続に関して利点はありません(クライアントはリモートDBへのTCP接続を確立する必要があります)サーバー)、およびpgbouncerが実行しているのは接続プールです。