Rumah >hujung hadapan web >tutorial js >Bagaimanakah Skala Node.js pada Mesin Berbilang Teras?
Memahami Skala Node.js pada Mesin Berbilang Teras
Node.js, walaupun reka bentuk single-thread-per-process, tidak memang berskala dengan berkesan pada CPU berbilang teras dan pelayan berbilang CPU.
Mekanisme Kebolehskalaan untuk Node.js
Untuk memanfaatkan berbilang teras dengan berkesan, Node.js menggunakan dua utama strategi:
Pelaksanaan Khusus untuk Perkhidmatan Web
Node.js versi 6.0.X memperkenalkan kelompok terbina dalam modul, memperkemas penciptaan berbilang proses pekerja yang berkongsi satu port.
if (cluster.isMaster) { // Fork workers (one for each available core) for (var i = 0; i < numCPUs; i++) { cluster.fork(); } } else { // Worker process listens on port 8000 http.Server(function(req, res) { ... }).listen(8000); }
Pertimbangan Tambahan untuk Pengoptimuman
Perbandingan dengan Model Soket Kongsi
Walaupun model soket kongsi membenarkan berbilang proses bersaing untuk sambungan pada satu port, ia juga memperkenalkan potensi overhed daripada penciptaan proses yang terlalu bersemangat untuk setiap sambungan. Menggunakan modul kluster terbina dalam, terutamanya bersama-sama dengan proksi web, menawarkan tahap prestasi yang sama dengan kurang kerumitan.
Atas ialah kandungan terperinci Bagaimanakah Skala Node.js pada Mesin Berbilang Teras?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!