Azure Cosmos DB for PostgreSQL の接続プーリング

適用対象: Azure Cosmos DB for PostgreSQL (PostgreSQL の Citus データベース拡張機能を利用)

新しい接続の確立には時間がかかります。 これは、短時間の接続を多数要求するほとんどのアプリケーションの妨げになります。 アイドル状態のトランザクションを減らす一方で、既存の接続を再利用するために、接続プーラーを使用することをお勧めします。 詳細については、ブログ投稿を参照してください。

独自の接続プーラーを実行することも、Azure で管理される PgBouncer を使用することもできます。

マネージド PgBouncer

PgBouncer などの接続プーラーを使用すると、より多くのクライアントが同時にコーディネーター ノードに接続できます。 アプリケーションではプーラーに接続し、プーラーでは宛先データベースにコマンドを中継します。

クライアントで PgBouncer を介して接続する場合、データベースでアクティブに実行できる接続の数は変わりません。 代わりに、PgBouncer では余分な接続をキューに登録して、データベースの準備が整ったときに実行します。

Azure Cosmos DB for PostgreSQL では、クラスター用の PgBouncer のマネージド インスタンスが提供されるようになりました。 最大 2,000 の同時クライアント接続がサポートされます。 さらに、クラスターで高可用性 (HA) が有効になっている場合は、そのマネージド PgBouncer でも有効になります。

PgBouncer 経由で接続するには、次の手順に従います。

  1. Azure portal でクラスターの [接続文字列] ページに移動します。
  2. [PgBouncer connection strings] (PgBouncer の接続文字列) の横にあるチェックボックスをオンにします。 一覧表示される接続文字列が変わります。
  3. 新しい文字列を使用して接続するようにクライアント アプリケーションを更新します。

Azure Cosmos DB for PostgreSQL を使用すると、マネージド PgBouncer パラメーターをコーディネーター ノード パラメーターとして構成できます。

次のステップ

Azure Cosmos DB for PostgreSQL の制限と制約に関する詳細を確認する。