我有一个节点应用程序,使用restify向另一台服务器发出大量请求。
随着请求数量的增加,内存不断增长,最终应用程序崩溃。
以下是我的代码片段。
var restify = require('restify');
var client = restify.createStringClient({
url: "https://api-3t.sandbox.paypal.com/nvp"
});
function makeRequest(cb) {
counter++;
client.post({
headers: null
}, null, function(err, req, res, data) {
if(err)
{
cb(err, req, res, data);
}
else
{
cb(null, req, res, data);
}
});
}
function makeRequestCb(error,request,response,data){
counter++;
console.log("result",counter);
}
setInterval(function(){
makeRequest(makeRequestCb)
}, 1000);
在检查chrome中的堆快照时,我发现' buffer'占据了大部分空间。
我还尝试使用' request'模块而不是“解决”问题。 我在这做错了什么。什么占据了大部分空间?
我也检查了this帖子。但就我而言,内存使用率一直在增加。
请帮忙。