gpt4 book ai didi

javascript - 为什么我的 mongodb 调用这么慢?

转载 作者:IT老高 更新时间:2023-10-28 23:25:54 28 4
gpt4 key购买 nike

好的,所以我正在构建一个基于 Node.js 的应用程序,并且我正在使用 mongoose 来处理我与 mongodb 的连接。我有一个这样的端点:

getTestStream : function(req, res, conditions, callback) {   
Activity.find()
.limit(1000)
.run(function(err, activities) {
if (err){
util.sendError(req, res, "Query Error", err);
} else if (activities) {
res.send(activities);
} else {
util.send('nope');
}
});
}

由于某种原因,此调用需要 700 毫秒以上才能完成。甚至没有应用 mongodb shell 限制的相同调用在大约 4 毫秒内返回。这似乎是一个如此简单的查询,那么是什么让它这么慢呢?我猜我在某处的配置中遗漏了一些明显的东西,但我不知道。

感谢任何可以提供帮助的人。

其他信息:

mongoose@2.6.0
mongodb@2.0.4
node@0.6.9

最佳答案

经过一段时间的试验,我发现了一些导致缓慢的原因,希望这可以帮助遇到类似问题的任何人:

  • 我请求的对象很大,因此处理它们需要一些时间。对于大型对象,修改查询以仅返回您现在需要的字段
  • Mongoose 很有用,但是当您请求大量项目时,它确实会变慢,如果您想要调用速度,最好直接与 node-mongodb-native 接口(interface)。 (对于我的场景,这大约提高了 50% 以上的速度)

使用这些技术,我现在可以在比以前处理 1000 条记录的时间更短的时间内处理 4000 条记录。感谢所有评论的人,特别感谢Gates VP指出 Mongoose 并不适合这种调用。

关于javascript - 为什么我的 mongodb 调用这么慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10418558/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com