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
※環境:iMac (Late 2009) 上の VirtualBox 上での Ubuntu 10.04 server、メモリー 512M、WordPress 3.2.1
Apache 同時接続数が増えると性能が落ちて行きますが、Nginx はそれほど落ちません。また、同時50接続では Apache はロードアベレージが50を超え、サーバーが反応しなくなりました。