nginx: 新しい Web サーバー

nginx: 新しい Web サーバー

Una tecnologia di ottimizzazione per migliorare le performance del proprio sito internet

伝統的に、Web サーバーについて話すとき、すぐに Apache が思い浮かびます。 Apache は、長い歴史を持つ成熟した Web サーバーです。 しかし、近年、新しい Web サーバーが市場に登場し、Apache ディーンのリーダーシップに挑戦しています。 Apache の主な問題は、Web トラフィックがまだ問題になっていない時代に、その基本設計が生まれたことです。

動的なサイトはほとんどなく、ほとんどが静的な HTML ページで管理されていました。 利用可能な帯域幅が少なく、ユーザーは皮肉なことに WWW の頭字語を World-Wide Wait と翻訳しました。 しかし、事態は急速に変化する運命にありました。 わずか数年で、Web インフラストラクチャは飛躍的な進歩を遂げ、利用可能な帯域幅は光ファイバーの普及により XNUMX 倍になり、動的サイトは爆発的に増加し、それに伴ってネットワーク トラフィックも目まぐるしく増加しました。

その間、Apache は進化してきましたが、Web で最も人気のあるサーバー側言語である PHP の処理は、何年にもわたってあまり変わっていないことがわかっています。 現在バージョン 7 の PHP は、以前のバージョンよりもはるかにパフォーマンスが向上していますが、パフォーマンスの問題は依然として深刻であり、Apache に影響を与えています。

ウェブサイト: はい、でも料金はいくらですか?

最大のボトルネックはPHPのMySQLの扱い

同時クエリが多すぎると、Apache はサーバー メモリを大幅にコミットすることを強制されます。

実際、PHP はデータベースがクエリの結果を返すたびに待機する必要があり、残りのコードの実行をブロックします。 その結果、Apache は状況を処理するために、より多くのスレッドを開始することを余儀なくされ、大量のメモリを消費します。 一方、nginx ははるかに効率的なメモリ管理を備えており、これらの消費のピークには達しません。 nginx は、モジュールを介して PHP を処理しません。PHP ファイルに遭遇すると、プロキシとして機能する PHP-FPM などの選択された PHP インタープリターに処理をリダイレクトするだけです。 その結果、トラフィックの多いサイトの処理に関しては、nginx は Apache よりもはるかに効率的でパフォーマンスが高くなります。

nginx は設計上、イベントに基づいており、この特性により、nginx は nginx で開発されたアプリケーションを管理するための理想的なパートナーとなっています。 Node.jsこの場合、nginx はプロキシとして、つまり https://myapp.com で https://192.168.1.100:3000 のような URL を書き換えるため、およびアプリの静的リソースのマネージャーとして使用されます。 このようにして、Node.js アプリは非常にパフォーマンスの高いものになります。Node がアプリケーション ロジックを管理し、nginx が画像、CSS、JavaScript ファイル、およびより一般的にはすべての静的リソースを提供するからです。

圧縮とキャッシュを有効にする理由

この意味で、このタイプのリソースに対して nginx で圧縮とキャッシュを有効にすることで、有名な Google Pagespeed などのベンチマーク テストを実行するときにトップレベルのパフォーマンスが得られます。

プロバイダーによる nginx のサポートは、ここ数年で大幅に拡大しており、すでに Plesk などの多くのコントロール パネルで、グラフィカル インターフェースを介して nginx を管理できます。 nginx はまだ比較的新しく、その先には長く有望な道のりがあります。

SUPSIは四半世紀にわたって環境を尊重し続けています