MongoDB接続プールの設定方法

データベースのパフォーマンスと効率を向上させるために、MongoDB に接続プールを使用して、データベース接続の管理と再利用を行い、一度のデータベース操作の際に 接続を確立して閉じているコストを省略できます。

MongoDB接続プールのセットアップ手順は次のとおりです。

  1. pymongo など MongoDB ドライバーをインストールする。
  2. コネクションプールのコンフィギュレーションオブジェクトを作成する。たとえば、次のようにします。
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が接続プールの最大アイドルタイムなど、接続プールの各種パラメータを設定できます。

  1. MongoDB コネクションプールを使用して、データベース操作を行います。 例えば:
# 获取数据库对象
db = client['mydatabase']

# 获取集合对象
collection = db['mycollection']

# 执行数据库操作
result = collection.find()
for doc in result:
    print(doc)

上のコードでは、client[‘mydatabase’]でデータベースオブジェクト、db[‘mycollection’]でコレクションオブジェクトを取得して、データベース操作を行っています。

なお、接続の利用後は、接続を閉じることで接続リソースを解放する必要があります。

# 关闭连接
client.close()

これらのステップに従えば、MongoDB接続プールを設定できます。特定のニーズに合わせて、接続プールの設定パラメータを調整できます。

bannerAds