Node.js: Ejecutar su código en varios núcleos de CPU
Esta documentación forma parte de la guía Primeros pasos. Consulte la guía completa aquí: Aprenda cómo desplegar un servicio Node.js en Stackhero de forma rápida y segura.
👋 ¡Bienvenido a la documentación de Stackhero!
Stackhero ofrece una solución nube de Node.js lista para usar que proporciona una serie de beneficios, incluyendo:
- Despliegue su aplicación en segundos con un simple
git push.- Use su propio nombre de dominio y benefíciese de la configuración automática de certificados HTTPS para una mayor seguridad.
- Disfrute de la tranquilidad con copias de seguridad automáticas, actualizaciones con un clic, y precios sencillos, transparentes y predecibles.
- Obtenga un rendimiento óptimo y una seguridad robusta gracias a una VM privada y dedicada.
Ahorre tiempo y simplifique su vida: ¡solo toma 5 minutos probar la solución de alojamiento en la nube de Node.js de Stackhero!
Por defecto, Node.js utiliza un solo núcleo y un solo hilo. Para aprovechar todos los núcleos de CPU disponibles, puede utilizar la API cluster de Node.js. Puede consultar la documentación oficial aquí: https://nodejs.org/api/cluster.html.
Aquí tiene un ejemplo sencillo que crea un servidor HTTP utilizando todos los CPUs disponibles:
const cluster = require('cluster');
const http = require('http');
const cpusCount = require('os').cpus().length;
if (cluster.isMaster) {
console.log(`Master ${process.pid} is running`);
// Fork workers
for (let i = 0; i < cpusCount; i++) {
cluster.fork();
}
cluster.on('exit', (worker, code, signal) => {
console.log(`Worker ${worker.process.pid} died`);
});
} else {
// Los workers comparten cualquier conexión TCP, en este caso, un servidor HTTP
http.createServer((req, res) => {
res.writeHead(200);
res.end('hello world\n');
}).listen(8000);
console.log(`Worker ${process.pid} started`);
}