2016-03-18 19 views
1

Mongo DB'ye tek bir bağlantı açıyorum. Yükleme testinden sonra uygulamamdan Db'ye çoklu açık bağlantılar görebiliyorum. Uygulama MongoDB için bağlantı sayısını çalıştırılırYerel NodeJS MongoDB sürücüsü ek bağlantıları açar

var app    = require('express')(); 
var logger   = require('log4js').getLogger(); 
var async   = require('async'); 

const logConnStr = 'mongodb://mysite.com/logs'; 
const AppPort  = 10000; 

logger.debug("Connecting to DB..."); 

function connectToLogs(cb) { 
    MongoClient.connect(logConnStr, { server: {reconnectTries: 3000} }, function(err, db) { 
    if (err) 
     return cb(err); 
    cb(null, db); 
    }); 
} 


function getRoot(req, res) { 
    var dbLogs = req.app.locals.dbLogs; 
    dbLogs.collection('banners').count(function(err, count) { 
    if (err) 
     return res.json({status: false, result: err}); 
    logger.debug(`Returning ${count}`); 
    res.json({status: true, result: count}); 
    }); 
} 

function onDbInit(err, dbs) { 
    assert.equal(err, null); 
    logger.debug("Connected."); 
    app.locals.dbLogs = dbs[0]; 
    app.get('/', getRoot); 
    app.listen(AppPort); 
    logger.debug(`Listening on ${AppPort}, pid=${process.pid}`); 
} 

async.series([ 
    connectToLogs 
], onDbInit); 

1 olduğu, beklendiği gibi: Sonra

[[email protected] ~]# lsof -p 19199 | grep TCP 
node 19199 root 12u IPv4 3024199246  0t0  TCP aaa.xxx.yyy.zzz:53535->aaa.xxx.yyy.zzz:27017 (ESTABLISHED) 
node 19199 root 13u IPv4 3024199307  0t0  TCP *:ndmp (LISTEN) 
[[email protected] ~]# 

Ben kuşatmasıyla uygulamayı test yük:

İşte

kodudur
siege -r 10 -c 10 aaa.xxx.yyy.zzz:10000 

ve yeniden losof çalıştırın:

[[email protected] ~]# lsof -p 19199 | grep TCP 
node 19199 root 12u IPv4 3024199246  0t0  TCP aaa.xxx.yyy.zzz:53535->aaa.xxx.yyy.zzz:27017 (ESTABLISHED) 
node 19199 root 13u IPv4 3024199307  0t0  TCP *:ndmp (LISTEN) 
node 19199 root 14u IPv4 3024238770  0t0  TCP aaa.xxx.yyy.zzz:53752->aaa.xxx.yyy.zzz:27017 (ESTABLISHED) 
node 19199 root 15u IPv4 3024238914  0t0  TCP aaa.xxx.yyy.zzz:53758->aaa.xxx.yyy.zzz:27017 (ESTABLISHED) 
node 19199 root 17u IPv4 3024238779  0t0  TCP aaa.xxx.yyy.zzz:53754->aaa.xxx.yyy.zzz:27017 (ESTABLISHED) 
node 19199 root 18u IPv4 3024238824  0t0  TCP aaa.xxx.yyy.zzz:53756->aaa.xxx.yyy.zzz:27017 (ESTABLISHED) 
[[email protected] ~]# 

Bu bağlantılar nereden geliyor?

test sistemi

:

CentOS6, 5.8.0 NodeJS, tek bir bağlantı oluşturarak olmadığı için var MongoDB 3.2 WiredTiger, NodeJS MongoDB sürücüsü 2.1.7

cevap

2

, bir bağlantı havuzu (yaratıyor hangi varsayılan 5), driver docs bakın.

+0

nice one ..... :) –

İlgili konular