关于mongodb的耗时问题
过去多啦不再A梦
过去多啦不再A梦 2017-05-02 09:24:33
0
3
618

查询代码:

console.time('计时器1')
collection.count({}, function(err, count) {
        collection.find({}, {
            limit: num,
            skip: (data.page - 1) * num
        }).sort({
            time: -1
        }).toArray(function(err, list) {
            mongoDb.close();
            var page = {}
            page["count"] = count
            page["limitNum"] = num
            callback(null, list, page)
            console.timeEnd('计时器1')
        })
    });

上图,这是我再window下监控到的mongo耗时时间

下图是我再linux下面的耗时时间

为什么同样的查询代码会相差差不多3倍之大?我的数据量就只有67条而已

过去多啦不再A梦
过去多啦不再A梦

Antworte allen(3)
阿神

找到原因了,是因为设置了账号密码的原因,我看每次请求mongo都会去验证账号密码,导致时间用的很长,去掉就下降到30ms左右了

给我你的怀抱

是否可以考虑打印出在2个不同OS的MongoDB查询的时候的执行计划,比较一下两边的执行计划。

过去多啦不再A梦

你的linux系统是32位还是64位的

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage