减少MongoDB延迟

时间:2018-09-09 16:11:54

标签: node.js mongodb

我的NodeJS服务器过去使用版本“ mongodb”:“ ^ 2.2.33”中的旧语法连接到我的远程MongoDB实例。但是,在我更新了新版本3.1.3的语法之后,数据获取似乎明显变慢了。似乎连接的身份验证/检索客户端花费的时间比以前更长。有人遇到过吗?有什么建议吗?

下面的MONGODB_HOST变量的格式为:[用户名:密码@IP地址]

之前(对于2.2.33版):

mongoClient.connect(`mongodb://${process.env.MONGODB_HOST}:27017/test`, function(err, db){
    console.log("Mongo client connected");
    db.collection('data')
        .find({ ... })
        .sort({ time: 1 })
        .toArray(function(err, items){
            console.log(items);
            db.close();
        }
});

之后(版本3.1.3):

mongoClient.connect(`mongodb://${process.env.MONGODB_HOST}:27017/test`, { useNewUrlParser: true }, function (err, client) {
        if(err) console.log(err);
        const db = client.db('data');
        db.collection(collection)
            .find(query)   // query parameters in JSON object
                .sort({ time: 1 })
                .toArray(function (err, items) {
                    console.log(items);
                    client.close();
                 });
});

已编辑: 在使用console.time几次测量延迟之后,事实证明实际上这两个版本都同样慢。例如连接时间约为2700毫秒,而从远程MongoDB服务器(包括连接和身份验证)仅获取约1小时的数据(约2593记录)大约需要6800毫秒。我仍在积极寻求有关如何减少延迟的方法,无论是在MongoDB上,还是愿意转换为(低成本)低延迟的NoSQL DB,谢谢!

0 个答案:

没有答案