Node.js Express默认使用集群吗?

Node.js Express默认使用集群吗?,node.js,express,Node.js,Express,我尝试使用JMeter在纯node.js和express服务器上运行基准测试。 结果是: node.js = 600 RPS, express = 1200 RPS 在运行benchmark时,node.js服务器始终使用1个cpu,而express server使用所有cpu 这是否意味着express server默认使用群集 更新:基准代码 node.js var http = require('http'); var Server = http.createServer(funct

我尝试使用
JMeter
在纯
node.js
express服务器上运行基准测试。

结果是:

node.js  = 600 RPS, express = 1200 RPS
在运行benchmark时,node.js服务器始终使用1个cpu,而express server使用所有cpu

这是否意味着express server默认使用群集

更新:基准代码

node.js

var http = require('http');

var Server = http.createServer(function(req, res){        
    res.write('I heard you !');
    res.end();    
}).listen(8000);
快车(3.8)

Express.js不使用集群

与单个内核相比,您看到更多内核处于忙碌状态的原因很可能是由于node.js与express通过异步代码更有效地将操作卸载给其他工作人员

您可以将集群与express一起使用,但只要不存在扩展问题,这就是不必要的麻烦

下面是一个示例代码:

//包括集群模块
var cluster=require('cluster');
//在主进程中运行的代码
if(cluster.isMaster){
//计算机器的CPU数
var cpuCount=require('os').cpus().length;
//为每个CPU创建一个工作进程
对于(变量i=0;i
不,没有。你很可能在比较不同的东西。你能分享你在这两种情况下使用的代码吗?
var express = require('express');

var app = express();

// ----------- middleware -------------
app.configure(function(){
    app.use(express.bodyParser());
    app.use(express.cookieParser());
    app.use('/public',express.static(__dirname+'/files'));
});

// ----------- route-------------
app.get('/', function(req, res){
    res.send('I heard you!')
});

app.listen(8000);
// Include the cluster module
var cluster = require('cluster');

// Code to run if we're in the master process
if (cluster.isMaster) {

    // Count the machine's CPUs
    var cpuCount = require('os').cpus().length;

    // Create a worker for each CPU
    for (var i = 0; i < cpuCount; i += 1) {
        cluster.fork();
    }

// Code to run if we're in a worker process
} else {

    // Include Express
    var express = require('express');

    // Create a new Express application
    var app = express();

    // Add a basic route – index page
    app.get('/', function (req, res) {
        res.send('Hello World!');
    });

    // Bind to a port
    app.listen(3000);
    console.log('Application running!');

}