1. ホーム
  2. node.js

[解決済み] 静的ファイルを提供するためにnode.js本体かnginxフロントエンドか?

2023-02-12 13:07:31

質問

node の前に nginx を置いて静的ファイルを直接提供するのと、node だけを使って静的ファイルを提供するのと、どちらが速いか、ベンチマークや比較はありますか?

nginx の方が扱いやすいと思うのですが、いかがでしょうか?

どのように解決するのですか?

ここでの回答には同意しかねます。Node でも問題ありませんが、正しく設定されていれば nginx の方が間違いなく高速です。nginx は C 言語で効率的に実装されており、同様のパターン(必要なときだけ接続に戻る)でメモリフットプリントも小さくなっています。さらに、nginx は sendfile syscall をサポートしており、OS カーネルがその役割を担っているため、ファイル転送の速度は可能な限り高速です。

今では nginx はフロントエンドサーバとしてデファクトスタンダードになっています。静的ファイルの提供、gzip、SSL、そして後々のロードバランシングに至るまで、その性能の高さから利用することができます。

追伸:これは、ファイルが本当にquot;static"(リクエスト時にディスク上に静止している状態)であることを前提としています。