我有一个简单的 express 3.2 应用程序,它在发布时返回 200。我观察了 Node (v0.10.5) 进程的内存 RSS,每个请求都会将内存增加 4kb 左右。
服务器代码很简单:
var express = require('express');
var app = module.exports = express();
app.set('port', process.env.PORT || 3000);
app.use(express.favicon());
app.use(express.bodyParser());
require('./apps/events/index')(app);
app.listen(app.get('port'), function(){
console.log("Express server starting...");
});
对应的 Controller 代码为:
// ./apps/events/index.js
var events = function(app) {
app.post('/events', function(req, res) {
res.writeHead(200);
res.end();
});
}
module.exports = events;
我的代码中是否有什么东西导致了这个?这是正常的吗(希望不是)。还是我测量错了?我将此脚本的一个版本投入生产, Node 进程以 16mb 内存使用开始,经过一些负载测试(20,000 次点击)后,它增加到 32mb。
最佳答案
继续分析您的服务器。您可能会发现内存使用量会随着时间的推移而下降。尝试 200,000 个请求,看看是否有变化
此外,如果有可用内存,操作系统将尝试使用它。 32mb 的 ram 不足以引起关注。
This talk值得一看。它是关于 python 但概念与 node.js 相同
关于node.js - 每个请求都会增加 Node/Express 内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16441601/