セットアップ:
タイプ m3.xlarge の EC2 上の 2 台のマシン。
最初のものはubuntuサーバーです。
2つ目はwin2008r2。
基本的な例を使用して ubuntu の node.js を作成し、任意のリクエストに対して文字列レスポンスを返します。
asp.net httphandler を使用して同じ応答を返します。
https://github.com/newsapps/beeswithmachinegunsを使用し て、10 台のマシンを使用して 200000 を同時実行 2000 (マシンあたり 200) で実行し、ベンチマークを実行したところ、次の結果が得られました。
ノードJS:
Complete requests: 200000
Requests per second: 5605.170000 [#/sec] (mean)
Time per request: 358.071900 [ms] (mean)
50% response time: 31.000000 [ms] (mean)
90% response time: 239.300000 [ms] (mean)
IIS:
Complete requests: 200000
Requests per second: 9263.810000 [#/sec] (mean)
Time per request: 215.992900 [ms] (mean)
50% response time: 214.000000 [ms] (mean)
90% response time: 244.000000 [ms] (mean)
nodeJS コードは次のとおりです。
http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Some response\n');
}).listen(80);
httphandler コードは次のとおりです。
context.Response.Write("Some response\n" + Guid.NewGuid().ToString("N"));
node js の方がはるかに高速になると思っていましたが、何か間違っていましたか?
編集:
クラスタ モジュールを使用した後、ノード js から 1 秒あたり 16685 のリクエストを受け取りました。最強の EC2 インスタンスを起動して、それらをチェックします。