【发布时间】:2021-03-21 17:12:36
【问题描述】:
我正在开发一个拥有超过 25k 用户的项目,每次为 Oppurtinity module 创建任何记录时,它都会执行此函数,该函数会在 mongodb 中插入每个用户的通知详细信息,
问题是它耗尽了 cpu 并且不让任何其他 API 产生结果,直到这个异步结束它需要时间,同时服务器不加载任何其他数据/它给出延迟响应。
- 节点-
v10.15.3 - MongoDB shell 版本
v4.0.17 - 服务器=Windows=
Memory-8GB - CPU
2.70GHz speed
我想知道,这里有什么问题,是不是代码,如果是我该如何优化呢?
async.eachSeries(users, (eachuser, next) => {
db.notifications.find({user_id:eachuser._id},function(errr,opp_noti){
if(opp_noti.length != 0){
db.notifications.update( { user_id:eachuser._id},{$push:{oppurtunity:oppurtunity_id}},function(errr,result){
})
}else{
db.notifications.insert({user_id:eachuser._id,oppurtunity:[oppurtunity_id]},function(errr,result){
})
}
})
next();
})
【问题讨论】:
标签: node.js mongodb optimization async-await