搜索

首页  >  问答  >  正文

关于mongodb的耗时问题

查询代码:

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梦2793 天前651

全部回复(3)我来回复

  • 阿神

    阿神2017-05-02 09:26:33

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

    回复
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-02 09:26:33

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

    回复
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-02 09:26:33

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

    回复
    0
  • 取消回复