我需要在 node.js 中构建一个 REST API,并且正在寻找一个比 Express.js 更轻量级的框架,这个框架可能会避免不需要的特性,并且会像一个定制构建的框架一样构建 REST API。对于同一情况,建议从其介绍中重新定义。
阅读 为什么使用静止而不是表达?似乎是一个不错的选择。
但是惊喜来了,当我尝试了两个负载。
我在 Restify 上制作了一个示例 REST API,每秒发出1000个请求。让我惊讶的是,路线在一段时间后开始没有反应。构建在 Express.js 上的同一个应用程序处理了所有。
我目前正在通过
var FnPush = setInterval(function() {
for(i=0;i<1000;i++)
SendMsg(makeMsg(i));
}, 1000);
function SendMsg(msg) {
var post_data = querystring.stringify(msg);
var post_options = {
host: target.host,
port: target.port,
path: target.path,
agent: false,
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': post_data.length,
"connection": "close"
}
};
var post_req = http.request(post_options, function(res) {});
post_req.write(post_data);
post_req.on('error', function(e) {
});
post_req.end();
}
我得到的结果看起来合理吗?如果是这样,那么在这种情况下,表达比重新定义更有效吗?或者我测试的方法有什么错误?
安定的行为
当加载超过1000个请求时,它会在1秒内停止处理,直到接收到1015个请求,然后什么也不做。也就是说。用于计算传入请求的计数器在1015之后停止递增。
当喂食时,即使负荷100个要求。直到10点15分才有反应,之后就没反应了。