node.js - 每个请求都会增加 Node/Express 内存

标签 node.js express

我有一个简单的 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/

相关文章:

node.js - NodeJS、Mongoose - 插入数据时出现重复条目

node.js - 当我们在 node.js 中使用 promises 时,我们需要 process.exit(1) 吗

javascript - 什么是 MongoDB 的严格模式,使用它是个好主意吗?

node.js - 用 typescript 实现快速 Controller 类

javascript - Post 表单请求对象为 'object Object'

node.js - 身份验证后如何将用户重定向回同一页面?

node.js - npm 安装redis 问题

javascript - process.on ('uncaughtException' 的最佳用途是什么,...)?

node.js - multer,multiparty和connect-multiparty + Nodejs之间的区别

javascript - 将 <script> 标签或未经净化的值传递给 Handlebars 布局?