次の方法で共有


接続のプール

データ ソースへの接続には時間がかかる場合があります。 接続を開くコストを最小限に抑えるために、ADO.NET では接続プールと呼ばれる最適化手法 使用します。これによって、接続を繰り返し開いたり閉じたりするコストを最小限に抑えることができます。 .NET Framework データ プロバイダーでは、接続プールの処理方法が異なります。 接続プールではパフォーマンスとリソースの使用率が向上しますが、データベース環境と構成によっては、いくつかの要因が効率に影響を与える可能性があります。

  • 接続の制限とリソースの制約: データベース環境では、接続制限は多くの場合、サービス レベルまたはリソース構成に関連付けられます。 たとえば、Azure SQL Database では、選択したサービス レベルに基づいて接続制限が定義されますが、Azure SQL Managed Instance では、CPU、メモリ、仮想コアなどの割り当てられたリソースに基づいて制限が適用されます。 接続プールの構成がこれらの制限を超えると、アプリケーションで接続が拒否されたり、スロットリングが行われたり、パフォーマンスが低下したりする可能性があります。

  • 認証方法: トークン ベースの認証メカニズム (Microsoft Entra ID 認証など) は、トークンの有効期限が原因で接続プールに影響を与える可能性があります。 期限切れのトークンは、プール内の接続を無効にし、再利用を中断する可能性があります。 この動作は、最新の認証プロトコルを使用するクラウドベースとオンプレミスの両方のデータベース システムで発生します。

  • ネットワーク待機時間とエンドポイント: ネットワーク待機時間とエンドポイント構成は、接続プールの効率に影響を与える可能性があります。 クラウドでホストされるデータベースでよく使用されるパブリック エンドポイントでは、通常、プライベート接続または直接接続と比較して待機時間が長くなります。 動的 IP アドレス指定を使用するクラウドネイティブ アプリケーションでは、IP アドレスの変更に対応するためにファイアウォール規則が更新されないと、接続の再利用が中断される可能性があります。

  • 暗号化の要件: TLS/SSL 暗号化を適用する データベースでは、接続プーリング構成と暗号化設定の間の調整が必要です。 たとえば、接続文字列で必要な暗号化パラメーター (Encrypt=Trueなど) を省略すると、接続エラーが発生し、プールの効率が低下する可能性があります。

  • DNS 解決: プライベート エンドポイントとカスタム DNS 構成は、接続プールに関する課題を引き起こす可能性があります。 DNS 設定が正しく構成されていないか、一貫性がない場合、接続の確立が遅れたりブロックされたりする可能性があり、接続の再利用のパフォーマンスと信頼性に影響を与えます。 これは、ハイブリッドまたはプライベート クラウドのセットアップを使用する環境で特に関連します。

このセクションの内容

SQL Server の接続プーリング (ADO.NET)
接続プールの概要と、SQL Server での接続プールのしくみについて説明します。

OLE DB、ODBC、および Oracle 接続プール
.NET Framework Data Provider for OLE DB、.NET Framework Data Provider for ODBC、および .NET Framework Data Provider for Oracle の接続プールについて説明します。

関連項目