Performance

Nginx のパフォーマンス

Nginx は消費リソースの低さで知られています。そのため、その他のリソースをリバースプロキシやメモリキャッシュなどに回すことでサーバのリソースを効率的に利用することができます。

少ない消費リソース

スケーラブルな(非同期の)イベント駆動アーキテクチャを使用してるため、メモリ使用量が少なくてすみます。

リバースプロキシの威力

Nginx にはリバースプロキシによるキャッシュ機能も備わっています。キャッシュされたコンテンツの場合、右記環境の Apache Bench ではロードアベレージはほとんど上がらず、50倍から100倍以上のスピードを計測しました。

アクセス集中に強い

ローカルの仮想環境上の Apache Bench では、Apache と Nginx それぞれデフォルトの設定で比較した場合、以下のような結果がでました。

Apache/2.2.14 nginx/1.0.6
1接続で100アクセス 2.34 2.51
10接続で100アクセス 1.80 2.46
20接続で100アクセス 1.39 2.16
50接続で100アクセス  計測不能 2.10
※単位は1秒あたりのリスエスト処理数で、値はそれぞれ10回計測した平均値。
※環境:iMac (Late 2009) 上の VirtualBox 上での Ubuntu 10.04 server、メモリー 512M、WordPress 3.2.1

Apache 同時接続数が増えると性能が落ちて行きますが、Nginx はそれほど落ちません。また、同時50接続では Apache はロードアベレージが50を超え、サーバーが反応しなくなりました。