5

投稿時に 200 を返す単純な Express 3.2 アプリがあります。ノード (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;

私のコードにこれを引き起こしているものはありますか? これは正常ですか(うまくいけばそうではありません)。それとも、私は間違ったことを測定していますか?このスクリプトのバージョンを本番環境に導入すると、ノード プロセスは 16 MB のメモリ使用量で開始され、いくつかの負荷テスト (20,000 ヒット) の後、32 MB に増加しました。

4

1 に答える 1

6

サーバーのプロファイリングを続けます。おそらく、時間の経過とともにメモリ使用量が横ばいになることがわかります。200,000 件のリクエストを試して、状況が変わるかどうかを確認します

また、使用可能なメモリがある場合、オペレーティング システムはそれを使用しようとします。32MB の RAM は心配するほどではありません。

この対談は一見の価値あり。これはpythonに関するものですが、概念はnode.jsでも同じです

于 2013-05-08T14:21:14.773 に答える