Overview
このガイドでは、 .NET/ C#ドライバーが接続プールを使用してMongoDBデプロイへの接続を管理する方法と、アプリケーションで接続プール設定を構成する方法について学習できます。
接続プールはとはオープンデータベース接続のキャッシュであり、 .NET/ C#ドライバーによって維持されます。アプリケーションがMongoDBへの接続を要求すると、 .NET/ C#ドライバーはプールからシームレスに接続を取得し、操作を実行し、再利用するためにプールに接続を返します。
接続プールは、アプリケーションのレイテンシと、 .NET/ C#ドライバーによって新しい接続が作成される回数を削減するのに役立ちます。次の図は、MongoClient が接続プールを管理する方法の概要を示しています。
接続プールの構成
次の接続プール設定は、MongoClientオブジェクトまたは接続 URI で指定できます。
設定 | 説明 |
|---|---|
| The maximum amount of time that the .NET/C# Driver waits when establishing a new connection before timing out. |
| The maximum number of connections that each pool can establish concurrently. If this limit is reached, further requests wait until a connection is established or another in-use connection is checked back into the pool. |
| The maximum time that a connection can remain idle in the pool. When a connection exceeds this limit, the .NET/C# Driver closes the connection and removes it from the pool. |
| The maximum time that a connection can be pooled. When a connection exceeds this limit, the .NET/C# Driver closes the connection and removes it from the pool. |
| The maximum number of concurrent connections that the pool maintains. If the maximum pool size is reached, further requests wait until a connection becomes available. |
| The minimum number of concurrent connections that the pool maintains. If the number of open connections falls below this value due to network errors, the .NET/C# Driver attempts to create new connections to maintain this minimum. |
| The length of time that the .NET/C# Driver waits for a response from the server before timing out. |
| How long a thread waits for a connection to become available in the connection pool before timing out. |
次のコードでは、MaxConnectionPoolSize パラメータを使用して最大接続プールサイズが 50 のクライアントを作成します。
var settings = MongoClientSettings.FromConnectionString("<connection URI>"); settings.MaxConnectionPoolSize = 50; var client = new MongoClient(settings);
次のコードでは、前の例と同じ構成のクライアントを作成しますが、接続 URI を使用します。
var settings = MongoClientSettings.FromConnectionString("<hostname>?maxPoolSize=50"); var client = new MongoClient(settings);
詳細情報
接続プールの詳細については、 MongoDB Serverマニュアルの「 接続プールの概要 」を参照してください。
API ドキュメント
このガイドで説明したメソッドや型の詳細については、次の API ドキュメントを参照してください。