2016-03-28 3 views
0

MEANスタックでアプリケーションを実行しようとしているクアッドコアシステムがあります。私はmongooseドライバを使用するときにpoolSizeを5に設定しました。しかし、モノゴッドのログには40以上の接続が開いています。クラスタがなければ、私はpoolSizeが正しく動作することに気がつきました。クラスターMongodb MEANスタックアプリケーションのマルチコアシステムでの接続プーリングの問題

2016-03-28T16:32:00.404+0530 I NETWORK [conn14] end connection 127.0.0.1:33925 (31 connections now open) 
2016-03-28T16:32:00.404+0530 I NETWORK [conn13] end connection 127.0.0.1:33924 (31 connections now open) 
2016-03-28T16:32:00.404+0530 I NETWORK [conn4] end connection 

接続の問題

var app = express(); 

if (cluster.isMaster) { 
for (var i = 0; i < numCPUs; i += 1) { 
    cluster.fork(); 
} 
cluster.on('exit', function (worker) { 
    console.log('Worker ' + worker.id + ' died :('); 
    cluster.fork(); 
}); 
} 
else { 
/** 
* Connect to MongoDB. 
*/ 
dalUtils.connectToDatabase(secrets.env); 

/** 
* Express configuration. 
*/ 
} 

マイdalutilsコードを次のように私のserver.jsコードがあるので、

var mongoose = require('mongoose'); 
var secrets = require('../../config/secrets'); 

exports.connectToDatabase = function(environment){ 
mongoose.connection.on('error', function() { 
    console.error('MongoDB Connection Error. Please make sure that MongoDB is running.'); 
}); 

mongoose.connection.on('connected', function() { 
    console.log('Connected!!!'); 
}); 


switch (environment) { 
    case 'development':   
     mongoose.connect(secrets.dev_db,{ server: { poolSize: 5 }}); 
     break; 
    case 'production' : 
     mongoose.connect(secrets.prod_db); 
     break; 
    default : 
     mongoose.connect(secrets.dev_db); 
     break; 
} 
}; 

答えて

0

を次のようになり、問題がでした上記のコードではありません。私はmongo-storeを使用していましたが、mongooseConnectionプロパティを使用する代わりに、私はURLを使用していました。これにより、既定の接続の代わりに別の20個の接続が開きましたプール

store: new MongoStore({ mongooseConnection: mongoose.connection }) 
関連する問題