sanchezzzhak
@sanchezzzhak
Ля ля ля...

Nodejs+ mongodb соединение при старте приложения или много когда нужно, дилемма как быть?

Добрый день, у меня в монгу идет логирование в среднем в мин идет обращений 300-1000 ,каждый раз я создаю соединение записываю лог и отрубаюсь.
Стоит ли использовать одно соединение при старте программы?
Когда использовал mysql там были pool в mongo pool соединений как в mysql библиотеке нету.
вот и дилемма...
  • Вопрос задан
  • 320 просмотров
Решения вопроса 1
sanchezzzhak
@sanchezzzhak Автор вопроса
Ля ля ля...
Стандартный mongodb все включено из коробки.
Вынес соединение в старт программы, что имеем: подняли скорость отдачи, снизилась нагрузка на hdd на 15%. (общая нагрузка была 22-23% )
async.parallel([
    function(callback){
        console.log('mongodb callback run');
        var mongodb_url = 'mongodb://localhost:27017/database';
        var options = { server: { auto_reconnect:true, poolSize: 20, socketOptions: { connectTimeoutMS: 2000 } } };
        MongoClient.connect(mongodb_url, options ,function(err, db) {
            assert.equal(null, err);
            mongodb = db;
            callback(null,{event:'init_mongo', reason: 'mongodb connection success'});
        });
    },
  // ....
],function(err,result){
     app.run()  //sertver listen
});

Выгодно если у вас постоянно приходят обращения 24/7
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@napa3um
Логика работы с MongoDB в сервере на Node.JS
(И ещё рассмотрите вариант использования Монги через mongoose.js, он ещё удобнее.)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы