PHP の場合は、リクエストごとに別のプロセスになるので、
リクエストごとにソースファイルのロード、設定ファイルのロード、
DB からアプリケーションデータのロードが必要になると思います。
それに比べ、 Node.js では Web サーバ自体も兼用しているので、
起動時にすべてをロードしておき、リクエストを処理する際には、
すでにメモリ内(変数内)のデータを参照するだけで済みます。
このため PHP に比べてリクエストの処理がかなり高速になるのが、
Node.js のメリットの 1 つだと思っています。
しかし、これは Node.js プロセスが 1 つの場合です。
Node.js の cluster 機能を使ったり、別の物理・仮想マシンで
同一アプリケーションが動いてる場合もあります。
別アプリケーションでも DB を共有することはありえます。
その場合は、外部から変更される可能性があり、毎回データを取得
しなくてはいけなくなります。
そうなれば最初書いた PHP の例と同じようになり、 Node.js の
メリットはあまりなくなるように思います。
個人レベルのものであれば、プロセスひとつで十分なことが多いです。
しかし、実際にあちこちのサービスに使われているものであれば、
プロセスが落ちた場合に備え複数プロセスがあるかと思います。
こういった複数プロセスで動かすことになる実運用では、
Node.js のメリットはあまり活かせず、 Node.js を選ぶ理由はあまり
ないのでしょうか?
あなたの回答
tips
プレビュー