2017-03-29 17 views
1

このページではGo vs Node.jsによると、CPU使用量の多いコードを実行しているときにNode.jsがCPUコアを最大限に活用しているとは示されていません。NodeJSをCPUコアで十分に活用しないでください。

仮想化を使用して単純にNode.jsインスタンスを追加すると、Goと同じパフォーマンスが得られますか?私はまだオーバーヘッドがあり、同じパフォーマンスを達成できないと思います。

+0

クラスタモジュールを使用できますが、要求の遅延を改善するのに役立つものではありません。あなたが達成しようとしていることに依存します。 – Ajax

答えて

0

cpu-intensiveコードを実行しているときにCPUコアを最大限に活用するには、nodejのクラスタモジュールをインストールする必要があります。

0

複数のプロセスが行います。 4つのcpus /スレッドに対しては、4つのNode.jsプロセスが必要です。それには、プロセス間で分割できる作業負荷が必要です。

Node.jsは、複数のワーカープロセス間でソケット接続を分散するためのモジュールを提供していますが、これはベンチマーク作業負荷のいずれかに役立ちます。

0

Node.jsは実際にはシングルスレッドプロセスです。ただし、clusteringを使用すると、複数のコアに複数のワーカーを起動できます。

アプリを作成するためにPM2を使用していない場合は、それを使用することを検討してください。 PM2は、複数のコア上の産卵作業者を非常に簡単にします。

app.js -i最大

このコマンドは、使用可能な各コア上の労働者を起動します開始PM2。

また、セッション/ソケットを使用している場合、クラスタリングのためにいくつかの問題が発生する可能性があることに注意してください。

関連する問題