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;
}
};