bucket-sort logo bucket-sort

プログラミングとインフラエンジニアリングの覚え書き

  • Posts
  • About
  • Contact
  1. Home
  2. All Posts
  3. ApacheとNginxの性能差を簡易ベンチマークで比較してみる

ApacheとNginxの性能差を簡易ベンチマークで比較してみる

Feb 7, 2026 Nginx , Apache bucket-sort

これまで Apache と Nginx の設計思想や特徴について整理してきましたが、 最終的には「実際のところどの程度の差があるのか」を確認しておきたいところです。

特に、自分の運用しているような PHP-FPM を介した動的アプリケーション環境において、 Web サーバーを Apache から Nginx に変更することでどの程度の性能差が出るのかは気になるポイントです。

そこで今回は、Apache Bench(ab)を使って、Apache と Nginx の簡易的なベンチマークを試してみます。

(1) テストの基本コマンド

以下の例は、同時 10 リクエスト × 100 回実行の条件です。

ab -n 100 -c 10 https://(apache-server)/
ab -n 100 -c 10 https://(nginx-server)/
  • -n 100 : 合計リクエスト数(100回アクセス)
  • -c 10 : 同時接続数(10ユーザーが同時にアクセスする想定)

(2) テストバリエーション

ざっくりとした傾向を確認するため、以下の3パターンでテストを実施します。

軽負荷(ブラウザ数人が閲覧する程度)

ab -n 100 -c 5 https://(apache-server)/
ab -n 100 -c 5 https://(nginx-server)/

中負荷(数十ユーザーが同時アクセス)

ab -n 1000 -c 20 https://(apache-server)/
ab -n 1000 -c 20 https://(nginx-server)/

高負荷(耐久テスト的な条件)

ab -n 5000 -c 50 https://(apache-server)/
ab -n 5000 -c 50 https://(nginx-server)/

(3) 評価指標

ab の出力結果から、以下の項目を比較対象とします。

  • Requests per second (mean) サーバーがどれだけ高速に応答できたかを示す指標

  • Time per request (mean) 1リクエストあたりの平均応答時間

  • Failed requests エラー発生の有無

  • Transfer rate 帯域利用効率(体感速度には直結しない)

(4) テスト実施時の注意点

  • ベンチマークは対象サーバーとは別のマシンから実行します(同一サーバー上で実行すると負荷計測になりません)。
  • Apache 側、Nginx 側ともに PHP-FPM を経由しているため、動的処理(DBアクセスなど)がボトルネックとなる場合、差は小さくなる可能性があります。
  • 静的ファイル(例: 画像や CSS)を対象とした場合、Nginx の方が有利な結果となる傾向があります。

ベンチマーク結果(ab)

テスト条件 Apache Nginx 傾向
軽負荷-n 100 -c 5 10.72 req/sec466 ms/req9.3 sec 10.66 req/sec469 ms/req9.4 sec ほぼ同等
基本-n 100 -c 10 20.56 req/sec486 ms/req4.9 sec 20.70 req/sec483 ms/req4.8 sec ほぼ同等
中負荷-n 1000 -c 20 43.86 req/sec456 ms/req22.8 sec 43.76 req/sec457 ms/req22.9 sec ほぼ同等
高負荷-n 5000 -c 50 88.37 req/sec566 ms/req56.6 sec 109.49 req/sec457 ms/req45.7 sec Nginx が優位

まとめ

  • 軽負荷~中負荷の条件では、Apache と Nginx の間に大きな差は見られませんでした。
  • 高負荷(5000リクエスト / 50並列)では、Nginx の方が約25%多くのリクエストを処理できる結果となりました(109 vs 88 req/sec)。
  • PHP-FPM やデータベースアクセスなどのアプリケーション層が共通であるため大きな差は出にくいものの、高並列時の効率性という点では Nginx の優位性が確認できました。
Apache Nginx Webサーバー
← Apache管理者向けApache vs Nginxまとめ Nginxはどうして .htaccessをサポートしないのか →

Related Posts

  • Nginxでオンザフライgzip圧縮送信は使えるのか Feb 9, 2026
  • Nginxはどうして .htaccessをサポートしないのか Feb 8, 2026
  • Apache管理者向けApache vs Nginxまとめ Feb 6, 2026
  • 公開サーバーハングアップ時の記録 ④対策 Feb 17, 2026

Table of Contents

  • (1) テストの基本コマンド
  • (2) テストバリエーション
    • 軽負荷(ブラウザ数人が閲覧する程度)
    • 中負荷(数十ユーザーが同時アクセス)
    • 高負荷(耐久テスト的な条件)
  • (3) 評価指標
  • (4) テスト実施時の注意点
  • ベンチマーク結果(ab)
  • まとめ

Recent Posts

  • Laravel の Event / Listener で Pub/Sub を実装する Apr 2, 2026
  • [C#] delegate と event の仕組みを整理する Apr 1, 2026
  • Pub/Sub パターンとは何か Mar 31, 2026
  • PHP/Laravel で値の状態を判定するヘルパ関数まとめ Mar 30, 2026
  • Filament の dehydrated メソッドとは何か Mar 29, 2026

Categories

  • AWS27
  • C#22
  • .NET20
  • Laravel16
  • Linux12
  • Apache8
  • MySQL8
  • PHP8
  • DynamoDB6
  • Nginx5
  • WordPress4
  • インフラ4
  • Hugo3
  • セキュリティ3
  • .NET Framework1
  • Aurora1
  • Filament1
  • Git1
  • SQS1

Tags

  • AWS
  • C#
  • .NET
  • Laravel
  • PHP
  • MySQL
  • セキュリティ
  • Linux
  • Apache
  • Code Snippet
  • DynamoDB
  • NoSQL
  • PHP-FPM
  • RDS
  • DoS
  • Nginx
  • Windows
  • WordPress
  • パフォーマンス
  • 監視
  • Amazon Linux 2023
  • CMS
  • Docker
  • Ipset
  • Iptables
  • OPCache
  • Webサーバー
  • 認可
  • Aurora
  • Blade
Powered by Hugo & Explore Theme.