7

実行時間の長いプロセスを実行するアプリケーションがあります。高速化するために、データの単純なシャーディングを行い、同じアプリケーションの .fork() 2 インスタンスだけで並列に実行したいと考えています。

そこに 2 コアのマシンがあり、2 コアが使用され、最初のインスタンスが最初のコアで実行され、2 番目のインスタンスが 2 番目のコアで実行されていることを確認したいと考えています。

モジュールについては知っていclusterますが、HTTP サービスを実行してそれらの間で負荷分散する必要がないため、この場合は関係ないようです。単なるワーカー (つまり、相互に通信したり、メッセージを送信したりする必要はありません。HTTP 要求を実行し、データをデータベースに保存するだけです)。

node.jsプロセスが使用するCPUコアを制御することはまったく可能ですか? Mac/Linux でそれを監視するにはどうすればよいですか?

4

2 に答える 2

0

これは、クラスター API の特定の部分です。

cluster.setupMaster([settings])

https://nodejs.org/api/cluster.html#cluster_cluster_setupmaster_settings

これを行うためのモジュールも作成しましたが、いくつかあります。

https://www.npmjs.com/package/poolio

私のモジュールはうまく機能しますが、API はそれほど単純ではないため、コア モジュールを使用することをお勧めします。

于 2016-04-10T01:29:03.310 に答える