Pat*_*ryk 6 cluster-computing node.js sails.js
我正在尝试使用cluster库启动sails.js应用程序以允许它生成更多进程以使用我的机器的所有核心,但不知何故,与express一起使用的方法在这里失败.
var cluster = require('cluster'),
numCPUs = require('os').cpus().length;
// create the server
if (cluster.isMaster) {
for (var i = 0; i < numCPUs; i++) {
cluster.fork();
}
cluster.on('exit', function(worker, code, signal) {
console.log('worker %d died (%s). restarting...', worker.process.pid, signal || code);
cluster.fork();
});
} else {
// Start sails and pass it command line arguments
require('sails').lift(require('optimist').argv);
console.log("Sails forked");
}
Run Code Online (Sandbox Code Playgroud)
之后我通常通过以下方式运行它:
$ sails lift
Run Code Online (Sandbox Code Playgroud)
但是当我为这个性能测试运行apache bench时,我得到了相同的结果.有帮助吗?我错过了什么吗?
编辑
甚至当我把console.log在cluster.fork如果部分然后我没有得到的输出.
Pat*_*ryk 13
最后我在其中一个问题中提到过使用了pm2模块https://github.com/balderdashy/sails/issues/170sails
首先应该安装它:
$ npm install -g pm2
Run Code Online (Sandbox Code Playgroud)
然后运行脚本:
$ pm2 start app.js -i max
Run Code Online (Sandbox Code Playgroud)
然后你可以用以下方法监控它:
$ pm2 monit
Run Code Online (Sandbox Code Playgroud)

或列出进程:
$ pm2 l
Run Code Online (Sandbox Code Playgroud)
