为什么从Node.js连接到MongoDB很慢

时间:2014-10-11 17:39:27

标签: node.js mongodb

这是我的“hello world”最小的Node.js应用程序,用于连接到localhost上安装并运行的数据库。这个小应用需要0.41秒的精确时间。

var mongo = require('mongodb').MongoClient
var c = mongo.connect('mongodb://localhost',
function(err, db){
    console.log(db)
    db.close()
})

同时,使用可以从名为mongo的命令行执行的MongoDB默认shell,我可以将almsot连接速度提高十倍。它甚至可以执行一个简单的命令。

$ time mongo --eval "db"
MongoDB shell version: 2.4.6
connecting to: test
test

real    0m0.054s
user    0m0.045s
sys 0m0.008s

为什么从Node.js连接速度较慢,如何加快速度以达到与本机shell连接速度相同的速度?

1 个答案:

答案 0 :(得分:1)

这里你需要的时间是节点启动,加载mongo模块然后才连接所花费的时间。您会发现大部分内容都没有连接到数据库本身,而是解析,加载和执行整个脚本。

尝试在加载mongodb模块后从脚本内部运行计时。