私はnode.jsを試していて、スループットに関する奇妙な問題に直面しています。基本的に、私は(Ubuntuの16.04とNode.jsのV6.3.1を実行し、4ギガバイトのRAMと4つのvCPUを持つVM上で)、単純なHTTPサーバーを作成するには、このコードを持っている:私はにnode server.js
でそれを実行しているnode.jsのスループットを向上させるhttpサーバ
const http = require('http');
http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello');
}).listen(8888);
HTTPサーバを起動し、私は、負荷テストをするためにそれを別のマシンからApacheのベンチを使用しようとしている:
ab -l -r -n 100 -c 50 -k http://server-ip:8888/
しかし、どんなにどのような要求の数&同時実行(N/C値)私がテストすると、ベンチマークの結果は、「1秒あたりのリクエスト数」が5 /秒未満であることを常に示しています。これはあまりにも低すぎますwをnode.jsのようなスケーラブルなフレームワークと上記のような単純なHTTPサーバのために使用します。
だから私は設定、設定などと関係があると思っています。誰でもこの場合のスループットを上げる方法についてのアイディアはありますか?
更新:
http://zgadzaj.com/benchmarking-nodejs-basic-performance-tests-against-apache-php
https://www.jayway.com/2015/04/13/600k-concurrent-websocket-connections-on-aws-using-node-js/
http://blog.yld.io/2016/02/08/squeeze-the-juice-out-of-node/
:私はクラウドの仮想マシン上で実行されているほぼ同一の塩基コードと高スループットを得ている人に遭遇しましたhttp://blog.caustik.com/2012/08/19/node-js-w1m-concurrent-connections/
クラスタを使用して、より多くのコアを利用します。 – Amit
運がよかったです。 'cluster'(4人の労働者)の同じ結果。 – Nick
専用サーバーを試してください。 – Amit