mdb空闲关闭

This commit is contained in:
ciniao 2023-12-15 14:41:10 +08:00
parent 28d01f586a
commit f07b1fc0b7
2 changed files with 19 additions and 6 deletions

View File

@ -9,7 +9,10 @@ async function connGameLogDB() {
}else{
logDBUrl = "mongodb://root:lyMaple525458@10.0.1.20:27017/heijiao_gamelog?authSource=admin";
}
let client = await MongoClient.connect(logDBUrl,{maxPoolSize:10});
let client = await MongoClient.connect(logDBUrl,{
maxPoolSize:10,
maxIdleTimeMS: 5*60*1000
});
logDB = client.db(`gameLog${G.config.serverId}`);
return logDB;
}

View File

@ -441,13 +441,22 @@ export async function initMongoDB() {
//可结合查看node_modules\mongodb\lib\connection_string.js
//maxPoolSize默认值100
let option:MongoClientOptions;
/**
* MongoDB连接池具有多个参数
* maxPoolSize100
* minPoolSize0
* maxIdleTimeMS0
* waitQueueTimeoutMS0
*/
let option:MongoClientOptions = {
//空闲5分钟后关闭
maxIdleTimeMS: 5*60*1000
};
//跨服只有1个直接采用默认配置就行
if(G.argv.serverType != 'cross'){
if(PublicShared.getOpenServerDay() > 3){
option = {
maxPoolSize: 10
}
option.maxPoolSize=10;
}
}
@ -461,7 +470,8 @@ export async function initMongoDB() {
console.log('connect crossmongodb ......');
//本服里,维持住跟跨服数据库的链接
let crossClient = await MongoClient.connect(G.config.crossMongodbUrl,{
maxPoolSize:10
maxPoolSize:10,
maxIdleTimeMS: 5*60*1000
});
G.crossmongodb = new _mongodb(crossClient.db(G.config.corssDBName || ""));
console.log('connect crossmongodb succ');