我正在运行一个具有 8 个工作进程的集群节点应用程序。我在服务请求时提供输出,输出包括处理请求的进程的 ID:
app.get('/some-url', function(req, res) {
console.log('Request being handled by process #' + process.pid);
res.status(200).text('yayyy');
});
当我疯狂地刷新/some-url
时,我在输出中看到每次都是同一个进程处理请求。
我使用节点负载测试来查询我的应用程序。同样,即使有 8 个工作人员可用,也只有一个工作人员处理每个请求。这显然是不可取的,因为我希望对集群应用程序进行负载测试以查看所有进程协同工作的整体性能。
这是我初始化应用程序的方式:
var cluster = require('cluster');
if (cluster.isMaster) {
for (var i = 0; i < 8; i++) cluster.fork();
} else {
var app = require('express')();
// ... do all setup on `app`...
var server = require('http').createServer(app);
server.listen(8000);
}
我如何让我的所有员工工作?