刚刚看了该论坛的该于mongodb连接池问题的帖子“mongodb驱动的正确使用方法” ,地址:http://cnodejs.org/topic/5190d61263e9f8a542acd83b 产生了疑惑!!! 当连接池poolSize设为10时,插入100万条数据,用时78472毫秒。当连接池poolSize设为1时,插入100万条数据,用时53454毫秒。 也就是说当连接数为1时,反而比连接数为10时用时更少!那要连接池还有什么用呢????
一下是测试代码,在Linux下运行 var server_options={’auto_reconnect’:true,poolSize:1}; console.log("poolSize:"+server_options.poolSize); var db_options={w:-1};
var mongodb = require(“mongodb”), mongoserver = new mongodb.Server('localhost’, 27017,server_options ), db = new mongodb.Db('test’, mongoserver, db_options);
db.open(function(err,db){ if(err)throw err; console.info(‘mongodb connected’); });
var time_start; function a(x){ db.collection(‘foo’).save({test:1},function(err,result){ if(x==1000000){ var now1=new Date(); var time_end=now1.getTime(); console.info('diff:’+(time_end-time_start)); }
});
} setTimeout(function(){ var now=new Date(); time_start=now.getTime();
for(var i=1;i<=1000000;i++) {
a(i);
} },2000)