22 lines
797 B
JavaScript
22 lines
797 B
JavaScript
var cluster = require('cluster');
|
|
var http = require('http');
|
|
var numCPUs = require('os').cpus().length;
|
|
// sudo siege -c 50 http://localhost:3000
|
|
if (cluster.isMaster) {
|
|
console.log('[master] ' + "start master...");
|
|
|
|
for (var i = 0; i < numCPUs; i++) {
|
|
cluster.fork();
|
|
}
|
|
|
|
cluster.on('listening', function (worker, address) {
|
|
console.log('[master] ' + 'listening: worker' + worker.id + ',pid:' + worker.process.pid + ', Address:' + address.address + ":" + address.port);
|
|
});
|
|
|
|
} else if (cluster.isWorker) {
|
|
console.log('[worker] ' + "start worker ..." + cluster.worker.id);
|
|
http.createServer(function (req, res) {
|
|
console.log('worker'+cluster.worker.id);
|
|
res.end('worker'+cluster.worker.id+', PID: '+process.pid);
|
|
}).listen(3000);
|
|
} |