我有一个按节点构建的页面,每秒接收 15 个请求。
我的功能是这样的:
var somepage = function(req,res){
res.send(200);
call_mongo_to_save_some_data(req.somedata);
}
var call_mongo_to_save_some_data = function(data){
var needToSave = {}
needToSave.val1 = data.val1;
needToSave.val2 = data.val2;
needToSave.val3 = data.val3;
needToSave.val4 = data.val4;
needToSave.val5 = data.val5;
var db = mongoskin();
db.collection.insert(needToSave).success(function(){
db.close();
}).fail(function(err){ throw err; });
}
所以你可以看到我在发送响应后做了一些事情。这样做,是因为我想减少响应时间。所以客户端用户不会等待我在 mongo 中保存一些东西。
但是在我启动页面后,我发现内存使用量一直在增加。我做了一些研究,说 res.write 清除了输出缓冲区。并与我的代码进行比较,我在 res.write (res.send) 之后做了一些事情。所以不确定是不是这个原因。或者这里有其他问题。