const http = require("http"); const fs = require("fs"); const WebSocket = require("ws"); const cluster = require("cluster"); const os = require("os"); const cpus = os.cpus().length; const port = 7860; const index = fs.readFileSync("./index.html"); if (cluster.isMaster) { console.log(`Number of CPUs is ${cpus}`); console.log(`Master ${process.pid} is running`); let requests = 0; let childs = []; for (let i = 0; i < cpus; i++) { let child = cluster.fork(); child.on("message", (msg) => { requests++; }); childs.push(child); } setInterval(() => { for (let child of childs) { child.send(requests); } requests = 0; }, 1000); } else { console.log(`Worker ${process.pid} started`); const handler = function (req, res) { if (req.url == "/dstat") { process.send(0); res.end(); } else { res.end(index); } };