MongoDB接続プールの設定方法
データベースのパフォーマンスと効率を向上させるために、MongoDB に接続プールを使用して、データベース接続の管理と再利用を行い、一度のデータベース操作の際に 接続を確立して閉じているコストを省略できます。
MongoDB接続プールのセットアップ手順は次のとおりです。
- pymongo など MongoDB ドライバーをインストールする。
- コネクションプールのコンフィギュレーションオブジェクトを作成する。たとえば、次のようにします。
import pymongo
from pymongo import MongoClient
# 创建连接池配置对象
conn_pool_config = {
'maxPoolSize': 50, # 连接池中最大连接数
'minPoolSize': 10, # 连接池中最小连接数
'maxIdleTimeMS': 60000, # 连接在连接池中的最大空闲时间(毫秒)
'waitQueueMultiple': 10, # 等待队列的最大长度,与maxPoolSize一起决定最多可以等待多少个请求
'waitQueueTimeoutMS': 1000 # 请求在等待队列中的最长时间(毫秒)
}
# 创建MongoDB客户端连接
client = pymongo.MongoClient('mongodb://localhost:27017/', **conn_pool_config)
上のコードでは、pymongo.MongoClientによりMongoDBクライアントを作成している。最初の引数はMongoDBの接続文字列(ホストとポートを含む)で、2番目の引数は接続プールの設定オブジェクトである。
接続プール設定オブジェクトでは、maxPoolSizeが接続プールの最大接続数、minPoolSizeが接続プールの最小接続数、maxIdleTimeMSが接続プールの最大アイドルタイムなど、接続プールの各種パラメータを設定できます。
- MongoDB コネクションプールを使用して、データベース操作を行います。 例えば:
# 获取数据库对象
db = client['mydatabase']
# 获取集合对象
collection = db['mycollection']
# 执行数据库操作
result = collection.find()
for doc in result:
print(doc)
上のコードでは、client[‘mydatabase’]でデータベースオブジェクト、db[‘mycollection’]でコレクションオブジェクトを取得して、データベース操作を行っています。
なお、接続の利用後は、接続を閉じることで接続リソースを解放する必要があります。
# 关闭连接
client.close()
これらのステップに従えば、MongoDB接続プールを設定できます。特定のニーズに合わせて、接続プールの設定パラメータを調整できます。