我知道Node.js使用单线程和事件循环来处理请求,一次只处理一个(非阻塞)。但我无法确定每秒运行100k请求的事件循环容量。
在这里,我希望nodejs服务器的容量规划能够处理每秒100k的请求。
请让我知道如何确定事件循环的容量以增加容量。
答案 0 :(得分:4)
Node.js的单个实例在单线程中运行。为了利用多核系统,用户有时会想要启动一个Node.js进程集群来处理负载。
参考检查以下代码,以便在node.js中简单实现集群
var cluster = require('cluster');
var express = require('express');
var numCPUs = require('os').cpus().length;
if (cluster.isMaster) {
for (var i = 0; i < numCPUs; i++) {
// Create a worker
cluster.fork();
}
} else {
// Workers share the TCP connection in this server
var app = express();
app.get('/', function (req, res) {
res.send('Hello World!');
});
// All workers use this port
app.listen(8080);
}