の労働者の最適な数のマルチコアプロセッサ上でnodejsをクラスタリングI usually see examples saying -nodejs - クラスタ
const numCPUs = require('os').cpus().length;
for (let i = 0; i < numCPUs; i++) {
cluster.fork();
}
私の質問がある -
マルチコアプロセッサは、ウェブを実行している場合アプリケーションはリバースプロキシを終了してssl(cpu intensive)、gzipping(cpu intensive)などの処理を行います。 (メインnodejsサーバー用)?
最適な労働者数を見つけるにはどのようなテストを行うべきですか?
特定の負荷でCPUの観点から必要なプロセスに関する量的データを提供していないので、代表的な負荷テストを考案し、いくつかの異なる数のnodejsは 'numCPUs'まで処理して、どれが全体的なスループットが最も優れているかを確認します。意味のある量的データがあっても、意思決定を検証するためにテストを実行する必要があります。 – jfriend00
カップルがあまりにも多くのプロセスは、おそらく十分ではないよりも問題の少ないです。アイドル状態のCPUが残っていて、無駄な容量を無駄にすることはありません。プロセスが多すぎると、コンテキストスイッチをいくつか追加して、それらの間でCPUをスワップします。 – jfriend00
私は過去のこの正確なことを、私の答えにある情報を使って本番で実装しました。それ以上のご質問がありましたらお知らせください。 @ jfriend00によってdownvotedされましたが、私はあなたがこのソリューションが動作していることを保証することができ、強力な生産です。 – arboreal84