マルチコア マシン上の Node.js のスケーラビリティについて
Node.js は、プロセスごとにシングル スレッドの設計にもかかわらず、実際、マルチコア CPU およびマルチ CPU 上で効果的に拡張できます。
Node.js のスケーラビリティ メカニズム
複数のコアを効果的に活用するために、Node.js は 2 つの主な戦略を採用しています:
Web サービスの特定の実装
Node.js バージョン 6.0.X では、組み込みクラスターが導入されました。モジュールを使用して、単一のワーカー プロセスを共有する複数のワーカー プロセスの作成を合理化します。 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); }
最適化に関する追加の考慮事項
共有ソケット モデルとの比較
共有ソケット モデルでは、複数のプロセスが単一ポート上の接続を競合することができますが、潜在的な問題も発生します。各接続に対する過度のプロセス作成によるオーバーヘッド。組み込みのクラスター モジュールを使用すると、特に Web プロキシと組み合わせて使用すると、それほど複雑ではなく、同様のレベルのパフォーマンスが得られます。
以上がNode.js はマルチコア マシン上でどのように拡張されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。