40

AWS (EC2) 上の単純な Hello World ノード サーバーを使用してノード パフォーマンスのベンチマークを行っています。

使用するインスタンスのサイズに関係なく、ノードは常に 1000 の同時接続で最大になるように見えます (これは 1 秒あたり 1000 ではありませんが、一度に 1000 を処理できます)。その直後に CPU が急増し、ノードが基本的にフリーズします。

ノード v0.10.5

var http = require('http');
var server = http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('loaderio-dec86f35bc8ba1b9b604db6c328864c1');
});
server.maxHeadersCount = 0;
server.listen(4000);

ノードはこれ以上のことを処理できるはずですか? どんな考えでも大歓迎です。

また、ファイル記述子 (ソフト、ハード、システム) は 65096 に設定されています)

4

2 に答える 2

42

モジュールを使用してposix、プロセスが使用できるファイル記述子の数の制限を引き上げます。

インストールposix

npm install posix

次に、アプリの起動時に実行されるコードで...

var posix = require('posix');

// raise maximum number of open file descriptors to 10k,
// hard limit is left unchanged
posix.setrlimit('nofile', { soft: 10000 });
于 2013-06-10T22:19:43.090 に答える