AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

接続プール

このガイドでは、 PyMongo が接続プールを使用してMongoDBデプロイへの接続を管理する方法と、アプリケーションで接続プール設定を構成する方法について学習できます。

接続プール とはオープンデータベース接続のキャッシュであり、 PyMongoによって維持されます。 アプリケーションがMongoDBへの接続を要求すると、 PyMongo はプールからシームレスに接続を取得し、操作を実行し、再利用するためにプールに接続を返します。

接続プールは、アプリケーションのレイテンシと新しい接続がPyMongoによって作成される回数を削減するのに役立ちます。

次の接続プール設定は、MongoClientオブジェクトまたは接続 URI で指定できます。

設定
説明

connectTimeoutMS

PyMongo

がタイムアウトするまで新しい接続を確立する際の待機時間。データ型:int
デフォルト:20000
MongoClient の例:connectTimeoutMS = 40000
接続 URI の例:connectTimeoutMS=40000

maxConnecting



各プールが同時に確立できる接続の最大数。この制限に達した場合、それ以降のリクエストは接続が確立されるか、使用中の別の接続がプールにチェックバックされるまで待機します。データ型:int
デフォルト:2
MongoClient の例:maxConnecting = 3
接続 URI の例:maxConnecting=3

maxIdleTimeMS

プール内で接続がアイドル状態を維持できる最大時間。接続がこの制限を超えると、 PyMongo は接続を閉じ、プールからその接続を削除します。この値は、アプリケーションの予想されるアイドル期間よりも高く、ファイアウォールまたはプロキシの接続タイムアウトよりは低く設定して、予期しない切断を防ぐために、データ型:

int
デフォルト:None (制限なし)
MongoClient の例:maxIdleTimeMS = 60000
接続 URI の例:maxIdleTimeMS=60000

maxPoolSize

プールが維持する同時接続の最大数。最大プール サイズに達した場合、それ以降のリクエストは接続が利用可能になるまで待機します。データ型:

int
デフォルト:100
MongoClient の例:maxPoolSize = 150
接続 URI の例:maxPoolSize=150

minPoolSize

プールが維持する同時接続の最小数。ネットワーク エラーにより開いている接続の数がこの値を下回った場合、PyMongo は新しい接続を作成してこの最小値を維持しようとします。

データ型: int
デフォルト: 0
MongoClient 例: minPoolSize = 3
接続 URI 例: minPoolSize=3

socketTimeoutMS

PyMongo がタイムアウトする前にサーバーから応答を待つ時間の長さ。

データ型: int
デフォルト: None (タイムアウトなし)
MongoClient 例: socketTimeoutMS = 100000
接続 URI 例: socketTimeoutMS=100000

waitQueueTimeoutMS

スレッドが接続プールで接続が利用可能になるまで待機し、タイムアウトするまでの時間。

データ型: int
デフォルト: None (タイムアウトなし)
MongoClient 例: waitQueueTimeoutMS = 100000
接続 URI 例: waitQueueTimeoutMS=100000

次のコードでは、maxPoolSize パラメータを使用して最大接続プールサイズが 50 のクライアントを作成します。対応するコードを表示するには、Synchronous タブまたは Asynchronousタブを選択します。

client = MongoClient(host, port, maxPoolSize=50)
client = AsyncMongoClient(host, port, maxPoolSize=50)

次のコードでは、前の例と同じ構成のクライアントを作成しますが、接続 URI を使用します。

client = MongoClient(host, port, maxPoolSize=50)
client = AsyncMongoClient(host, port, maxPoolSize=50)

接続プールの詳細については、 MongoDB Serverマニュアルの「 接続プールの概要 」を参照してください。

このガイドで説明したメソッドや型の詳細については、次の API ドキュメントを参照してください。