Web技術

シェア率急上昇の「Nginx」とは?Apacheと比較した場合のメリット・デメリット

投稿日:

 

 

Nginxは「C10K問題」のソリューションとして誕生

NginxはC10K(クライアント1万台問題)のソリューションとして誕生したWebサーバーである。

 

C10K(クライアント1万台問題)

ハードウェアリソース上は問題ないものの、ソフトウェアリソースが先に枯渇してしまってサーバーがパンクする問題のこと。
プロセス番号やスレッドスタックはサーバー上で有限であるため、クライアントからのリクエスト1つに対して1プロセス(または1スレッド)を割り当てて処理してしまうと万単位のクライント(C10K)に対応できなくなる。

 

Nginxが備えている機能

Nginxが備えている機能は以下の通り。必要最小限の機能のみを有する。

  • リーバースプロキシ機能
  • メールプロキシ機能
  • 負荷分散機能
  • URL Rewrite機能
  • WebDAV機能

 

従来の「Apache」との比較

Apacheの特徴

Apacheロゴ

Apacheロゴ

Apacheの特徴は以下の通り(正式名称は「Apache HTTP Server」)。

  • 赤い羽のロゴマーク
  • 1995年生まれのベテラン選手
  • プロセス駆動アーキテクチャ
  • マルチプロセス

 

Apacheのメリット

Apacheのメリットは以下の通り。

  • 実績が多く開発者向け技術情報を入手しやすい
    20年以上も第一線で使われ続け”バグを出し切った枯れた技術”であるため、開発者向けの技術情報が簡単に手に入りやすい。
  • 動的コンテンツの処理速度が速い
    CPUリソースを多く消費する動的コンテンツの処理スピードはNgixnより速い(と言われている)

 

Apacheのデメリット

Apacheのデメリットは以下の通り。

  • 同時接続数が増加するにつれメモリが枯渇しやすい
    リクエストごとにプロセスが起動して処理されるため、リクエストが大量発生するとプロセスも同時多発的に大量発生する。起動プロセス数×ヒープサイズの掛け算でメモリリソースを大量に消費してしまう。

 

Nginxの特徴

Nginxロゴ

Nginxロゴ

Nginxの特徴は以下の通り。

  • 緑フォントのロゴマーク
  • 2004年生まれの未成年
  • イベント駆動アーキテクチャ
  • シングルスレッド(イベントループ方式)

Nginxのメリット

Nginxのメリットは以下の通り。

  • 大量のリクエストを処理できる
    キューにたまったリクエスト(イベント)をシングルスレッドでループ処理するため、プロセス数が増殖しない。つまりメモリリソースの消費を一定量に保ったまま大量のリクエストを処理できる。
  • 設定ファイル(nginx.conf)が直感的で設定しやすい
    Apacheの設定ファイル(httpd.conf)と比較して直感的で設定しやすい。

 

Nginxのデメリット

Nginxのデメリットは以下の通り。

  • エンジン単品では機能に乏しい
    エンジンは単一のメモリ空間で動作するため、PHPを代表としたスクリプト言語を処理する機能などはついていない。Nginxをリバースプロキシとして使用して配下にApacheを採用するなどの工夫が必要。
  • 動的コンテンツの処理速度が遅い
    CPUリソースを多く消費する動的コンテンツの処理スピードはApacheより遅い(と言われている)

 

Nginxのシェア

2010年台初頭から急速にシェア率を伸ばし、今ではnginxがWebサーバー市場の3分の1(33%)を占めるほどになっている

Nginx が市場シェア率の33%に達する|w3techs.com

Nginxのシェアグラフ

Nginxのシェアグラフ

Half of the web still runs on Apache's web server, but one third already uses Nginx, and the gap is closing fast. We have a closer look at the detailed statistics and trends.

 

Nginxを採用している企業

Webサーバーにnginxを採用している企業は年々拡大中である。導入企業の報告事例は以下の通り。

  • Facebook
  • Wikipedia
  • クックパッド
  • メルカリ
  • Hulu

 

記事下AdSense

-Web技術

Copyright© いんふらっと , 2019 All Rights Reserved Powered by AFFINGER4.