4

セットアップ:

タイプ 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 インスタンスを起動して、それらをチェックします。

4

1 に答える 1

1

m3.xlarge インスタンスにはいくつかの CPU コアがありますが、node.js はシングルスレッドです。node.js クラスター モジュールのベンチマークを試して、より多くの CPU を使用することが役立つかどうかを確認できます。また、node.js は非常に新しいため、必ず最新の安定したシリーズ (これを書いている時点で 0.8.x) を使用してください。

于 2012-11-07T14:01:06.150 に答える