もちろん、ノードはストレージ層を高速化することはできず、バックエンド処理が非常に多く発生している単一の要求をエンド ユーザーへの要求をより速く満たすことはできません。しかし、できることは、アプリケーション サーバーのスレッド プール内のスレッドを拘束することではありません。その作業が行われている間、単一のスレッドはそのループを続行し、別の要求を受け入れることができます。
その他のリクエストは、作業が完了したときに返される安価なリクエストである可能性があります。これは、スレッド プール モデルを使用するアプリケーション サーバーでも発生する可能性があります。つまり、スレッド プール モデル内のすべてのスレッドが I/O 要求でブロックされていない限り、各スレッドのオーバーヘッドが発生します。安価なリクエストは、すべてブロックされているため、スレッド プールからスレッドを待機するキューに入れられます。ノードの単一スレッドがループし、安価なリクエストを処理します。
これが機能するのは、すべての I/O が非同期であり、ループをブロックする唯一の作業がコードであることをノードが義務付けているためです。そのため、「コード以外のノード内のすべてが並行して実行される」ということわざがあります。他のアプリケーション サーバーで非同期コードを記述して同様の結果を達成することは可能ですが、多くの場合、コーディングは簡単ですが、スケーラビリティに劣る非非同期スレッド プール モデルが提供されます。
たとえば、この hanselman の投稿は、asp.net が非同期要求を実行できる方法を示していますが、ほとんどが使用している一般的なモデルではありません。