关于mongodb的耗时问题

浏览:29日期:2023-06-18

问题描述

查询代码:

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’)}) });

关于mongodb的耗时问题

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

下图是我再linux下面的耗时时间关于mongodb的耗时问题

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

问题解答

回答1:

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

回答2:

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

回答3:

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

相关文章: