ひと頃の、Apacheとnginxの性能比較の時代もピークは過ぎ(だいたい2012年ごろ?)、どっちがWEBサーバとして優れているのかという二者択一的考え方自体やや古めかしい感じもしているのが現時点での一般的な感覚ではないでしょうか。
今回はそんな中、あえて改めてWEBサーバー界隈周りを整理してみたいと思います。
WEBサーバのシェア率
Netcraftの2015年4月の調査によると、nginxは、全アクティブサイトの中で2番目に多く使われている(14.24%)WEBサーバであり、W3Techsの調査によると、上位1,000サイトの41.1%、上位100,000サイトの32.9%で使われているようです。また、BuiltWithによると、上位1万Webサイトの23.8%で使われており、上位1万、10万、100万の区分において成長を続けている、という統計結果が出ています。
このことをもって、将来的にはnginxが今のApacheの座を脅かすだろう、と判断してしまうのは早計でしょう。
もちろん、MicrosoftのIISもApacheと同等の比率を占めており無視はできないのでしょうが、この記事はあくまでもオープソースのWEBサーバについて論を進めます。
WEBサーバとしてApachとnginxの目指しているところの違い
ApacheがWEBサーバとして求められる機能を満遍なく拡充させることを目指したのに対して、nginxはもともと「軽量で並列動作に向いたリバースプロキシ」として開発が進められ、通常のWEBサーバ処理に加えてロードバランサー機能を備えている点が特徴です。つまり、nginxは高負荷環境でのパフォーマンスを重視しており、大量処理、スピード重視を徹底的に追求しているところから来るのが、Apacheとの処理性能の差です。
現在の多様化するWEBサービスにおいて、上記の特徴を踏まえれば、nginxが得意とする分野のWEBサービスが多く登場してきた結果、nginxを採用する割合が増えてきたと考えれば上記の統計結果も納得がいくのではないでしょうか。
この辺のところを勘違いすると、早晩Apacheはnginxに取って代わられるという間違った推測に流れてしまうでしょう。
そもそも、サーバの能力にはメモリやCPUの影響も考慮しなくてはなりません。
また、動的なコンテンツの場合、データベースサーバのチューニングにも影響を受けるでしょう。
ですので、一概にどちらが優れていると単純に言い切れるものでもないのは、ご理解いただけるのではないでしょうか。
実際、「アパッチもいい勝負ができているという記事」(参照リンク:人間とウェブの未来 – ApacheとNginxの性能比較でevent_mpmの本気を見た)もあります。
WEBサーバの動向~Apachとnginxの連携の時代~
では、今現在ミドルウェアとしてのWEBサーバの導入を考えておられる方は、実際のところどちらを選べばよいのでしょうか。答えはこうです。
Apachとnginxのどちらか一択、という考え方ではなく、両方のいいとこ取り、つまり両方を使うという考え方です。
nginxをリバースプロキシとして使用し、静的なコンテンツはnginxに任せ、動的なコンテンツに対してはバックエンドのアプリケーションサーバ(Apache)に任せる、という方法です。
もちろん、物理的にリソースに余裕がある場合になるでしょうし、動画ストリーミングなど両者を入れ替えた方が良い場合もあるでしょう。
このように考えていくと、十分なテストを行える環境のある人は、ご自分の環境で最適解を見つけていくしかない、という身も蓋もない結論になってしまいます。
今現在、静的なWEBサイトもいわゆるWebアプリケーションフレームワーク(PHP / Java / Ruby / Python / Perl等のプログラミング言語を使用した枠組み)を活用して作成する潮流が押し寄せているように思います。
また、時を同じくして登場してきたトレンドが、レンタルサーバーやVPSと並び、料金的な面でも十分な選択肢となってきた「クラウドサービス」です。
アプリケーションの開発者だけではなく一般の個人サイト運営者にとっても、面倒なサーバの設定やチューニングに時間を費やすよりも、開発やコンテンツの充実に精力を費やす方が建設的ではないかという考え方をしてみても良いのかもしれませんね。
いわゆるミドルウェアとしてのWEBサーバの能力比較競争から現在はどのクラウド環境を選択して開発していくかが問題の主流となるのはほぼ間違いのないところでしょう。
更には、パフォーマンス的に問題があるHTTPプロトコルの改良版としてのHTTP/2も登場してきました。
まあ、HTTP/2が一般的になったらなったでまた、apacheとnginxの性能対比記事が量産されるのでしょうね(笑)
参考:HTTP/2 Japan Local Activity(HTTP/2 日本語サイト )


クラウド化は止まらない…サーバーエンジニアの業界動向
フリーランスとは
データベースエンジニアの業界動向~重要は減少中?!
ネットワーク設計構築のお仕事、求人の基本的で具体的なお話し
ブラウザアクセスだけでダダ漏れな情報を簡単に確認する方法
CentOSエンジニア案件についての傾向をご紹介します。
【3分解説】Windowsサーバー・仮想化技術市場の展望と、Windowsエンジニアとしてのスキルアップ方法
【今が熱い】仮想化エンジニアで転職をしよう!
サーバーエンジニアの仕事内容と、その将来性について
DB2エンジニア案件とDB2の仕事内容について
Oracleエンジニア案件とその仕事内容とは?
【解説」データベースエンジニアの仕事内容と、その求人状況
DB(データベース)の設計構築の仕事内容を見定めるポイントを改めて確認しておきましょう
PM・PMOの背景や業界動向~未経験からスタートするマネジメント
【解説】SAPの概要・SAPの仕事内容・SAPエンジニア案件について
プロジェクトマネージャーという仕事
未経験でもPMやPMOで勤務するためには?
ITコンサルタント案件とスキルアップ方法
ロードバランサで有名なF5の概要と気になるF5を扱った仕事内容をご紹介いたします。
【Ciscoエンジニア案件を扱いたいなら】Ciscoの概要とCiscoの仕事内容について理解しましょう
最近のネットワーク設計構築関連の求人動向について
Juniperの仕事内容、今後も多くのJuniperエンジニア案件が出てくることが見込まれています。
WEBエンジニアの業界動向
今大注目のGo言語を学ぶために役立つサイト3選!
今からでも遅くない!Ruby on Railsの基本のキ
Rubyとは?~Rubyエンジニアの求人案件情報や仕事内容について解説いたします~
開発系社内SEの仕事内容について改めて確認してみましょう
クリエイティブ関連業界の動向について
秘書案件の求人・仕事内容について改めて確認してみましょう!
「受付」というお仕事は会社の「顔」ということ
【解説】貿易事務のお仕事に興味を持った方へ
そもそも「経理」のお仕事とは? 改めて考えてみましょう。必要とされているのは「攻め」の経理です。
ハローワークに一般事務の求人が多くある理由。







