以下のnodejsコードを指定します。 localhost:8080に対してab(apacheベンチマーク)テストを実行すると、要求を処理しているマスタープロセスのみが表示されます。しかし、マスタプロセスからサーバーへのハンドルを削除した場合、フォークされたプロセスがスワップアウトされていることがわかります。私が気付いていないこのための正当な理由はありますか?メインプロセスとチャイルドプロセスのサーバーがクラスタリングされているときにhttp server quandryをクラスタリングします。
var cluster = require('cluster');
var server = require('http').createServer(function(req,res){
res.writeHead(200);
var served = process.env.NODE_WORKER_ID || "master";
console.log("hello world I was served by " + served);
setTimeout(function() {
res.end("hello world I was served by " + served);
}, 1000);
});
if(cluster.isMaster){
for(var i = 0; i < 2; i++){
cluster.fork();
}
server.listen(8080);
}else{
server.listen(8080);
}
小さなノートを使用してbencmarkことができます。これはLinuxマシン上にあります – Maleck13
より慎重にタグを付けてください。これは[タグ:クラスタ分析]の質問ではなく、古典的な[タグ:負荷分散]という質問でした。おそらく、serverfaultの方が適切かもしれません。 –
@ Anony-Mousseいいえ、明らかにNodeJSの問題であり、サーバー自体ではありません。 – Mustafa