Estoy tratando de medir el rendimiento de mi aplicación y encontré un problema con el sistema de Windows. Cuando estoy bombardeando la aplicación a continuación a través de la dirección http://localhost:8001/, recibo alrededor de 4 mil solicitudes. Sin embargo, si empiezo a hacer lo mismo desde otra computadora portátil, recibo solo ~150 solicitudes por segundo. La red es una WiFi doméstica con una velocidad de unos 45 Mbps. Lo que es más importante, la cantidad de instancias no hace ninguna diferencia, la velocidad es siempre la misma 150 solicitudes por segundo. He deshabilitado el firewall en la máquina con la aplicación del servidor, pero sigo viendo las mismas 150 solicitudes por segundo. Por favor, ayúdame a entender este problema, ¿qué está pasando?
UPD: creo la carga usando ab -c 10 -n 1000 http://<host>:8001/ donde <host> es el nombre de otra computadora portátil o localhost .
const http = require('http'); const cluster = require('cluster'); const numCPUs = 8; const requestListener = function (req, res) { res.writeHead(200); if (req.url === '/test') { res.end(JSON.stringify(content)); // some big payload return; } res.end('some small payload'); } cluster.schedulingPolicy = cluster.SCHED_RR; if (cluster.isMaster) { console.log(`Master ${process.pid} is running on ${numCPUs} CPUs`); for (let i = 0; i < numCPUs; i++) { cluster.fork(); } cluster.on('exit', (worker, code, signal) => { console.log(`worker ${worker.process.pid} died`); }); } else { const server = http.createServer(requestListener); server.listen(8001); }