了解Node.js 在多核心機器上的可擴展性
Node.js 儘管採用每進程單執行緒設計,但確實可以在多核心CPU 和多CPU 伺服器上有效地進行擴展。
Node.js 的可擴展性機制
為了有效地利用多核,Node.js 採用了兩個主要方法策略:
Web 服務的具體實作
Node.js 版本6.0.X 引入了內建叢集模組,簡化共用單一連接埠的多個工作流程的建立。
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); }
最佳化的其他注意事項
與共享套接字模型的比較
雖然共享套接字模型允許多個進程在單一連接埠上競爭連接,但它也會因過度熱衷於為每個進程創建進程而帶來潛在的開銷。聯繫。使用內建叢集模組,特別是與 Web 代理程式結合使用,可以提供相似程度的效能,但複雜性較低。
以上是Node.js 如何在多核心機器上擴充?的詳細內容。更多資訊請關注PHP中文網其他相關文章!