要充分利用操作系统os的多核特性,只需要配置如下即可:
var express = require('express');
var config = require('./config');
var cluster = require('cluster');
var numCPUs = require('os').cpus().length;
var app = express();
if (cluster.isMaster) {
for (var i = 0; i < numCPUs; i++) {
cluster.fork();
}
cluster.on("exit", function(worker, code, signal) {
cluster.fork();
});
} else {
var server = app.listen(config.app.port, function () {
var host = server.address().address;
var port = server.address().port;
console.log('应用实例,访问地址为 http://%s:%s', host, port);
});
}
上面的示例代码将使用 cluster 模块重构。 cluster 模块可以让你很容易的创建多个分享端口的进程。每一个进程使用一个系统核心,也就是代码中的 numCPUs 变量中cpu核心的一个。每一个子进程都实现了HTTP server,并监听指定的端口。
输出结果为:
感谢您的阅读,希望对您有帮助,本文版权归 #惊讶# 所有