1. Nodejs はイベント駆動型および非同期プログラミングの特徴を持っています。
イベント駆動という用語は、一部の従来の言語でのネットワーク プログラミングでは、たとえば、ソケット リソースが特定の状態に達すると、登録されたコールバック関数が実行されます。 Node.js の設計哲学はその中核としてイベント駆動型であり、Node.js が提供する API のほとんどはイベントベースで非同期です。 Net モジュールを例にとると、net.Socket オブジェクトには接続、データ、終了、タイムアウト、ドレイン、エラー、クローズなどのイベントがあります。Node.js を使用する開発者は、独自のビジネスに応じて対応するコールバック関数を登録する必要があります。ロジック。これらのコールバック関数はすべて非同期で実行されます。つまり、コード構造では、これらの関数は順番に登録されているように見えますが、出現する順序には依存せず、対応するイベントがトリガーされるのを待ちます。イベント駆動型および非同期プログラミングの設計の重要な利点は、システム リソースを最大限に活用できることです。コードの実行時に特定の操作が完了するまでブロックする必要がなく、限られたリソースを他のタスクに使用できることです。このタイプの設計はバックエンド ネットワーク サービス プログラミングに非常に適しており、Node.js もこれを対象としています。サーバー開発ではリクエストの同時処理が大きな問題となり、機能をブロックするとリソースの無駄や時間の遅れにつながります。イベント登録と非同期機能により、開発者はリソースの使用率を向上させることができ、パフォーマンスが向上します。 Node.js が提供するサポート モジュールから、ファイル操作を含む多くの機能が非同期で実行されることがわかります。これは、サーバー開発を容易にするために、Node.js には次のような多くのネットワーク モジュールがあります。 HTTP、DNS、NET、UDP、HTTPS、TLS など、開発者はこれに基づいて Web サーバーを迅速に構築できます。
2.nodejsのパフォーマンス分析Node.jsのパフォーマンスは良好です。創設者の Ryan Dahl 氏によると、パフォーマンスは Node.js で考慮すべき重要な要素であり、Ruby やその他の仮想マシンの代わりに C++ と V8 を選択するのもパフォーマンスに基づいています。 Node.js は、比較的大胆な設計でもあり、
シングル プロセス、シングル スレッドモードで実行されます (驚くべきことですよね? これは、Node.js が内部シングル スレッドを使用するというイベント駆動メカニズムです)。これは、マルチスレッドのリソース占有やコンテキストの切り替えを行わずに、イベント ループ キューを独立して維持することによって実装されます。これは、Node.js が大規模な http リクエストに直面してイベント駆動に依存して処理することを意味します。従来の言語に慣れているネットワーク サービス開発者は、マルチスレッドの同時実行とコラボレーションには馴染みがないかもしれませんが、Node.js に直面するときは、その特性を受け入れて理解する必要があります。このことから、このような設計ではメモリではなく CPU に負荷が集中することが推測できます。 Node.js はシングルプロセスおよびシングルスレッドモードを採用しているため、マルチコアハードウェアが普及している今日の環境では、優れたシングルコアパフォーマンスを持つ Node.js がマルチコア CPU をどのように活用できるでしょうか?創設者の Ryan Dahl は、複数の Node.js プロセスを実行し、何らかの通信メカニズムを使用してタスクを調整することを推奨しています。現在、多くのサードパーティ製の Node.js マルチプロセス サポート モジュールがリリースされています
http://www.bkjia.com/PHPjc/440375.html
などの場合にコールバック関数を使用します。