Augmentation de la mémoire des nœuds / express à chaque demande

J’ai une application simple express 3.2 qui retourne un 200 lorsqu’il est posté à. Je regarde le processus de mémoire RSS du nœud (v0.10.5) et chaque requête augmente la mémoire de 4 Ko environ.

Le code du serveur est assez simple:

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..."); }); 

et le code de contrôleur correspondant est:

 // ./apps/events/index.js var events = function(app) { app.post('/events', function(req, res) { res.writeHead(200); res.end(); }); } module.exports = events; 

Y at-il quelque chose dans mon code qui cause ceci? Est-ce normal (espérons-le pas). Ou est-ce que je mesure la mauvaise chose? J’ai mis une version de ce script en production et le processus de nœud a démarré à 16 Mo en mémoire, et après quelques tests de charge (20 000 hits), il est passé à 32 Mo.

Continuez à profiler votre serveur. Vous constaterez probablement que l’utilisation de la mémoire se stabilise avec le temps. Essayez 200 000 demandes et voyez si les choses changent

De plus, s’il y a de la mémoire disponible, le système d’exploitation essaiera de l’utiliser. 32 Mo de bélier n’est pas suffisant pour s’inquiéter.

Cette conversation mérite d’être regardée. Il s’agit de python mais les concepts sont les mêmes pour node.js