Я читал модуль кластера из документации по nodejs, насколько я понимаю, мы можем использовать этот модуль для использования преимуществ многоядерных систем, то есть я могу легко справиться с нагрузкой, что означает большее количество обращений к моей системе на одном и том же порту, но с использованиемразные процессоры
для обеспечения этого я просто делаю простой тест в моей системе
вот мой код с модулем кластера
const cluster = require('cluster');
const http = require('http');
const numCPUs = require('os').cpus().length;
const express = require('express');
const path = require('path');
const servers = [];
const workers = [];
if (cluster.isMaster) {
console.log(`Master ${process.pid} is running`);
console.log("total no of cpus", numCPUs);
// Fork workers.
for (let i = 0; i < numCPUs; i++) {
workers.push(cluster.fork());
workers[i].on('listening', (address) => {
console.log("address", JSON.stringify(address));
});
}
cluster.on('exit', (worker, code, signal) => {
console.log(`worker ${worker.process.pid} died`);
});
} else {
let app = express();
// Workers can share any TCP connection
app.listen(2121, (serverInfo) => {
console.log("server listening at port 2121", JSON.stringify(serverInfo));
})
app.get('/',(req,res,next)=>{
res.json({success:'success'})
})
app.use(express.static(path.join(__dirname)))
app.get('/loaderio-edc7fc83ca1554036ee53a6807d5efb5', (req, res, next) => {
res.sendFile('./loaderio-edc7fc83ca1554036ee53a6807d5efb5.txt')
})
console.log(`Worker ${process.pid} started`);
}
и вот код безкластеризация
const express = require('express');
let app = express();
const path = require('path');
app.listen(2121 , (serverInfo) => {
console.log("server listening at port 2121", JSON.stringify(serverInfo));
})
app.get('/',(req,res,next)=>{
res.json({success:'success'})
})
app.use(express.static(path.join(__dirname)))
app.get('/loaderio-edc7fc83ca1554036ee53a6807d5efb5', (req, res, next) => {
res.sendFile('./loaderio-edc7fc83ca1554036ee53a6807d5efb5.txt')
})
И я просто протестировал его с помощью loader.io. Я получил результаты теста, как показано ниже: результат с использованием кластерного модуля
![enter image description here](https://i.stack.imgur.com/Tsfvm.png)
использование результатов без модуля кластера
![enter image description here](https://i.stack.imgur.com/EEMz3.png)
Я не получаю результаты так, как хочу, у меня есть 24 тайм-аута при использовании модуля кластера, это мой подходПравильно, если да, то как я могу использовать больше преимуществ многоядерных систем в nodejs или здесь что-то, что я пропустил?.