2016-12-28 7 views
4

私は、Node.jsがシングルスレッドとイベントループを使用してリクエストを処理し、一度に1つしか処理できないことを知っています(これは非ブロックです)。しかし、私は決定することができませんイベントループ容量は100k要求/秒を実行する。nodejsのイベントループ容量を増やす方法は?

ここでは、nodejsサーバーのキャパシティプランニングで、の10000要求をで処理したいと考えています。

容量を増やすためにイベントループの容量を決定する方法を教えてください。

答えて

4

Node.jsの単一インスタンスは、単一スレッドで実行されます。マルチコアシステムを利用するには、のNode.jsプロセスのクラスタを起動して、負荷を処理することが必要な場合があります。 Node.jsの

   var cluster = require('cluster'); 
       var express = require('express'); 
       var numCPUs = require('os').cpus().length; 

       if (cluster.isMaster) { 
        for (var i = 0; i < numCPUs; i++) { 
         // Create a worker 
         cluster.fork(); 
        } 
       } else { 
        // Workers share the TCP connection in this server 
        var app = express(); 

        app.get('/', function (req, res) { 
         res.send('Hello World!'); 
        }); 

        // All workers use this port 
        app.listen(8080); 
       } 

Clusterにおけるクラスタの簡単な実装のための基準チェック次のコードについて

詳しい情報herehere

よりためのNode.jsのための拡張可能なマルチコア・サーバ・マネージャでありますソースチェックhere

+1

リンクをポストするのではなく、作業コードの例を記述するとよいでしょう。 – Shaharyar

+0

@Eugen Dimboiu、そうです。ここで私は1つのイベントループの容量を知りたい。単一のイベントループの容量や他の方法を決定するためのツールがあれば、私はそれに応じてCPUの数を増やすことができます。 –

+0

私の知る限り、あなたの必要性のための特別なツールはありませんが、負荷テストツールを使用してアプリケーションのストレステストを行うことができます。私はあなたのアプリケーションを設計する必要があると思いますので、水平方向に容易にスケールすることができます - 毎秒100k要求が多いです。 –

関連する問題