5

我有一个简单的 express 3.2 应用程序,它在发布到时返回 200。我观察节点(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...");
});

相应的控制器代码是:

// ./apps/events/index.js
var events = function(app) {

  app.post('/events', function(req, res) {
    res.writeHead(200);
    res.end();
  });

}    
module.exports = events;

我的代码中有什么东西导致了这个吗?这是正常的吗(希望不是)。还是我测量了错误的东西?我将此脚本的一个版本投入生产,节点进程开始使用 16mb 内存,经过一些负载测试(20,000 次点击)后,它增加到 32mb。

4

1 回答 1

6

继续分析您的服务器。您可能会发现内存使用量会随着时间的推移而趋于平稳。尝试 200,000 个请求,看看情况是否会发生变化

此外,如果有可用内存,操作系统将尝试使用它。32mb 的 ram 是不够关心的。

这个演讲值得一看。它是关于 python 的,但是 node.js 的概念是相同的

于 2013-05-08T14:21:14.773 回答