中央にデータベースプロキシがある場合、「接続」には2つの別個のレッグがあります。
- まず、アプリケーションからプロキシへの接続があります。 「アプリケーション側のプーリング」と呼ばれるのは、このタイプの接続です。このタイプの接続の新しいインスタンスの作成にはまだオーバーヘッドが伴うため、アプリケーションで接続プールを引き続き使用することをお勧めします。
- 次に、プロキシからデータベースへの接続があります。これらの接続はプロキシによって管理されます。このタイプの接続の数は、プロキシ構成によって制御されます。この設定を100%に設定すると、プロキシが最大データベースの
max_connections
値 、および他のクライアントは接続に飢えている可能性があります。
したがって、アプリケーションが接続を使用する場合は、ローカルプールから接続を取得する必要があります。次に、プロキシはそれをデータベースへの接続とペアリングする必要があります。プロキシは、可能な場合はデータベースへの接続を再利用します(この手法は、多重化 。
または、公式ドキュメントを引用すると、「プロキシへの多数の同時接続を開くことができ、プロキシはDBインスタンスまたはクラスターに対して開いている接続の数を少なくします。そうすることで、データベースサーバー上の接続のメモリオーバーヘッドをさらに最小限に抑えることができます。この手法は、「接続が多すぎる」エラーの可能性も減らします。」