私のPCには2コアのCPUがあり、expressを使用しているnode.jsアプリケーションがあるとします。どのようにして、このアプリケーションを1つのコアで実行し、同じアプリケーションを他のコアで実行できますか?Node.jsサーバを異なるCPUコアで実行するにはどうしたらよいですか?
0
A
答えて
0
Nicovank
が正しい。 cluster
という機能に興味があります。 nodejsでは、このコードによって、コアの数を取得:https://nodejs.org/dist/latest-v7.x/docs/api/cluster.html#cluster_cluster:
const numCPUs = require('os').cpus().length;
ドキュメントのこのセクションを参照してください。素晴らしい例があります。
0
ここでは、clusterモジュールを使用して複数のコアで動作する高速サーバーの基本的な例を示します。
const cluster = require('cluster');
//Get number of CPUs
const numCPUs = require('os').cpus().length;
if (cluster.isMaster) {
console.log(`Master ${process.pid} is running`);
// Fork one worker per core.
for (let i = 0; i < numCPUs; i++) {
cluster.fork();
}
cluster.on('exit', (worker, code, signal) => {
console.log(`worker ${worker.process.pid} died`);
});
} else {
//Worker code...
const express = require('express');
const app = express();
app.get('/', function (req, res) {
res.send('Hello World!');
});
// Bind to a port
app.listen(8080,() => {
console.log(`[PID=${process.pid}] server started!`);
});
}
いくつかのサードパーティのモジュールもありますStrongLoop
- Cluster2
- PM2(cluster modeを持つノード・プロセス管理) - strong-cluster-control
ます。また、チェックすることができます:
関連する問題
- 1. 32の異なるコアで32プロセスを実行するにはどうすればよいですか?
- 2. SOLRの異なるコアに異なるスキーマファイルを持たせるにはどうすればよいですか?
- 3. Node.js - CPUコアをターゲットにする
- 4. スキャナでnextDouble()を実行するにはどうしたらよいですか?
- 5. node.jsをプロダクションモードでsudo経由で実行するにはどうしたらいいですか?
- 6. さまざまなCPUコアでジュピターカーネルをローカルで実行していますか?
- 7. Hadoopタスクを実行しているCPUコアを監視する
- 8. OSMC:1つのコアで100%CPUを実行しているスクリプト
- 9. 私の最初のRubyアプリケーションをサーバで実行するにはどうしたらいいですか?
- 10. OpenMPを使用して異なるコアで異なるコードを実行する
- 11. プロセスが特定の物理CPUコアとスレッドで実行されるようにするにはどうすればよいですか?
- 12. node.jsプログラムの子プロセスとしてnode.jsモジュールを実行するにはどうすればよいですか?
- 13. node.jsからプログラムでmongodumpコマンドを実行するにはどうすればよいですか?
- 14. サーバで実行中のスレッドからCDIイベントを起動するにはどうすればよいですか?
- 15. nginx/apacheのようなWebサーバーでemberjsテストを実行するにはどうしたらいいですか?
- 16. Geanyからnode.jsサーバを実行
- 17. IdleでPythonを実行するにはどうしたらいいですか?
- 18. エディタでmongodbを実行するにはどうしたらいいですか?
- 19. Visual Studio IDE(2008)でマルチCPU /コアC++コンパイルを有効にするにはどうすればよいですか?
- 20. サーバでV8を使用してサンドボックスモードでjavascriptを実行するにはどうすればよいですか?
- 21. コアよりスレッドが多い場合は、どのようにしてMPIをすべてのコアで実行しないようにしますか?
- 22. 専用CPUコアでデーモンが動作しないようにする
- 23. node.jsでDXFを編集するにはどうしたらいいですか?
- 24. Matlabで異なるパラメータでプログラムを再実行するにはどうすればよいですか?
- 25. スタンドアローンモードで複数のスパークアプリケーションを異なるワーカーノードで実行するにはどうすればよいですか?
- 26. サーバ上でサーブレットにアクセスするにはどうしたらいいですか?
- 27. 別々のCPUコアでタスクを並列実行する方法
- 28. Tensorflow:特定のCPUコアでopsを実行する
- 29. 異なるクラスを異なるプロトコルの同じプロトコルにするにはどうしたらいいですか?
- 30. スレッドが実行されているCPUを特定するにはどうすればよいですか?
ネイティブクラスタモジュールを参照してください – nicovank