要充分利用操作系统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,并监听指定的端口。
输出结果为:
感谢您的阅读,希望对您有帮助,本文版权归 #惊讶# 所有