インソースマーケティングデザイン
2013.09.09 システム
nginxとApacheの違いについて
nginxの一番のポイントは、パフォーマンスかと思います。(参考サイト)
参考サイトでのApacheBenchの結果では、Apacheに比べnginxの方が1.47倍ほどリクエストを処理出来るようです。
しかしながらApacheもマルチプロセッシングモジュール(event_mpm)の設定を正しくチューニングすることで、nginxに及ばないまでも、かなりのパフォーマンスを期待出来るようです。(参考サイト)
むしろこの程度の差で済むなら、ちょっと良いハードウェアを選んだりするだけで差が埋まりそうな気がします。
それでは機能面ではどうでしょうか?nginxに出来てApacheに出来ないことはあるのでしょうか。
nginxを用いた高速化手法にキャッシュがあります。(参考サイト)
Apacheにはキャッシュがないのかと問われれば勿論あります。mod_cacheがそうです。(参考サイト)
ヘッダ情報の出力内容の調整や既知の不具合等、注意点はありますが使用可能です。
ロードバランサーも高速化手法として挙げられます。(参考サイト)
ハードウェアでロードバランシングした方が現実的ですが、ソフトウェアでも実現出来るようです。
Apacheでもmod_proxy系のモジュールを使用すれば実現できます。(参考サイト)
こうして比較してみると、老舗であるApacheは中々優れものであることが再認識させられます。
Apacheの技術情報はnginxと比べて手に入りやすく、インターネットでも豊富なノウハウが公開されていますので、業務で使用するならApacheが良いと思います。