2016-09-09 1 views
0

私は、コアごとにいくつのクラスタを初期化できるかについて尋ねました。そして、コアごとに1つのノードが十分に良いと悲しんでいるすべての記事を読みました。したがって、私はそれについて素敵な説明を見つけていない。コアごとにNode.jsアプリのいくつのクラスターを初期化できますか?

私は多くのI/Oを使用し、キューからのプッシュ/削除、データベースへのタスクのスケジュールなどの計算はほとんど行いません。このアプリでは、コアごとに5つのクラスタを初期化していましたが、受け取れるリクエスト数が増えました。サーバーの負荷平均は非常に高く、時には約30です。

このアプローチ(コアあたり2つ以上のノード)を使用した場合の副作用は何ですか?

+0

"コアあたり5つのクラスタ"とはどういう意味ですか?経験則はコアごとに1つのワーカープロセスです(したがって、コアが4つの場合は、4つのワーカープロセスを開始します)。 – robertklep

+0

コア当たり5つのワーカープロセスを意味します。私はあなたがポイント、 "親指の役割"を持っていると思いますが、なぜですか?私は4つのコアを持つマシンで20人のワーカープロセスを開始しました。 –

+0

サーバの起動以外の場所にあるすべてのI/Oに対して非同期I/Oを使用していますか?または、あなたのコードに同期I/Oを振りかける/ – jfriend00

答えて

0

単一コアでは、一度に1つのプロセスしか実行できません。

あなたのコンピュータ上で実行されるほとんどのプロセスは、大部分がアイドル状態です(彼らは座って何か起こるのを待ちます)。それはあなたのコンピュータ上で何十何百ものプロセスを大きな問題なく実行する方法です。

しかし、多くのもの(プロセスのようなもので、この場合は多くのI/Oもカウントされます)を行うプロセスは、CPUコアをかなり忙しく保ちます。したがって、コアごとにそのようなプロセスを複数起動するのは無駄です。なぜなら、それらのプロセスはすべてそのコアのタイムスライスで競合するからです。

あなたはどちらかCPUを使用している、またはCPUを使用するようにを待っているどのように多くのプロセスの指標である高負荷平均を取得する理由もあります。

関連する問題