「さくらVPS」と「IIJ GIOクラウド」のベンチマークで、圧倒的にすぐれていた「さくらVPS」に限定し、さらに「Apache」と「nginx」も比較しました。
結論からいうと、
リクエスト数が多いほどnginxのほうがパフォーマンスに優れている
です。
もちろん前提条件と誤差は含むので、今回の結論は将来的に変わる可能性はあります。
◆前提条件
- ApacheBenchはローカルPCから実行
- ネット環境は光100Mbps
- 同時接続100で合計1000[400]リクエスト実行[$ ab -n 1000 -c 100 http://???.example.com/]
- 対象サービスは次の4パターン
- さくらVPS 2G/nginxで400リクエスト(前回の結果)
- 同1000リクエスト
- さくらVPS 2G/Apacheで400リクエスト(前回の結果)
- 同1000リクエスト
- ベンチマーク対象コンテンツはPHPで700KB弱
- DB処理は無いがファイルOPEN(READのみ)と文字列処理あり
- Apacheに意図的なチューニング無し
- バージョン(とくにApache)に意図無し
- nginxはProxy構成
- nginxは仮想3コアにチューニング済み
◆ベンチマーク結果[nginx 対 Apache@さくらVPS]
◆考察
上記結果の青がベスト値、赤がワースト値です。
総括は一目瞭然で、nginxで合計1000リクエストが圧倒的に青一色です。同様にnginxだが400リクエストは真っ赤です。
合計リクエストが多いほどnginxの性能が上がる!?
合計400リクエストのベンチマーク結果は前回のものを採用しているため、総合するとIIJ GIOクラウドのV160で合計400リクエストを実行するよりも、さくらVPS 2Gで合計1000リクエストを実行したほうが、すぐれているとか、もっとシンプルには同じnginxなのに合計400リクエストより1000リクエストのほうが性能が上がっている(少なくともベンチマーク結果では)という本当に信じてしまって良いのか?という状態です。
ちなみに前回、同時接続100/合計400リクエストとしたのはIIJ GIOクラウドの限界によるものでしたが、さくらVPSは2拠点からの同時接続100/合計1000(実質同時200/合計2000→もはやDDoS攻撃!?)さえ、フリーズすることなく捌いていました。
その結果は、改めて複数ラウンドの比較をするときにまとめます。
◆課題
とにかく、ラウンド数を増やして再検証が必要。
結果を簡単に比較できるようなエクセルチャートが間もなく完成します。
また、UnixBenchで純粋なベンチマーク中です。
No comments yet. You should be kind and add one!
By submitting a comment you grant typista a perpetual license to reproduce your words and name/web site in attribution. Inappropriate and irrelevant comments will be removed at an admin’s discretion. Your email is used for verification purposes only, it will never be shared.