首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于看似简单的查询,bson.deserializeObject占用了太多的CPU

对于看似简单的查询,bson.deserializeObject占用了太多的CPU
EN

Stack Overflow用户
提问于 2018-06-05 22:00:30
回答 1查看 308关注 0票数 0

我有一个包含大约400个文档的mongoDB集合。现在,我有一个REST方法,它只返回这个集合上的.find({})查询的结果(我使用的是mongoose btw)。当我尝试以每秒约40个请求对此方法进行基准测试时,我发现响应时间非常可怕(~10s),并且在我分析了应用程序之后,flamegraph如下所示

当查询拉取20-30个对象时,性能变得可以容忍,但如果超过100个,应用程序就会被反序列化结果卡住。正常吗?我能为此做点什么吗?

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-01-08 01:45:45

在mongoose中使用'lean‘方法可能会对你有所帮助。

‘JavaScript’方法告诉mongoose不要将对象从数据库转换为mongoose模式对象,而是转换为普通的‘lean对象,这反过来会提高反序列化速度。

示例

代码语言:javascript
复制
Students.find({name: 'Josh'}).lean().exec((err, docs) => {
     ...
});

另请参阅

http://www.tothenew.com/blog/high-performance-find-query-using-lean-in-mongoose-2/

Use lean in mongoose with callback

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50702040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档