Node.js: Ihren Code auf mehreren CPU-Kernen ausführen
Diese Dokumentation ist Teil des Erste Schritte-Leitfadens. Den vollständigen Leitfaden finden Sie hier: Erfahren Sie, wie Sie einen Node.js-Service schnell und sicher auf Stackhero bereitstellen.
👋 Willkommen in der Stackhero-Dokumentation!
Stackhero bietet eine einsatzbereite Node.js Cloud Lösung, die zahlreiche Vorteile bietet, darunter:
- Deployen Sie Ihre Anwendung in Sekundenschnelle mit einem einfachen
git push.- Nutzen Sie Ihren eigenen Domainnamen und profitieren Sie von der automatischen Konfiguration von HTTPS-Zertifikaten für erhöhte Sicherheit.
- Genießen Sie sorgenfreie automatische Backups, Ein-Klick-Updates und eine einfache, transparente und vorhersehbare Preisgestaltung.
- Erhalten Sie optimale Performance und robuste Sicherheit dank einer privaten und dedizierten VM.
Sparen Sie Zeit und vereinfachen Sie Ihr Leben: Es dauert nur 5 Minuten, um die Node.js Cloud Hosting Lösung von Stackhero auszuprobieren!
Standardmäßig nutzt Node.js nur einen Kern und einen Thread. Um alle verfügbaren CPU-Kerne zu nutzen, empfiehlt sich die Node.js-cluster-API. Die offizielle Dokumentation finden Sie hier: https://nodejs.org/api/cluster.html.
Hier ein einfaches Beispiel, das einen HTTP-Server mit allen verfügbaren CPUs erstellt:
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 {
// Worker teilen sich jede TCP-Verbindung, hier einen HTTP-Server
http.createServer((req, res) => {
res.writeHead(200);
res.end('hello world\n');
}).listen(8000);
console.log(`Worker ${process.pid} started`);
}