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/sec
466 ms/req
9.3 sec
10.66 req/sec
469 ms/req
9.4 sec
ほぼ同等
基本
-n 100 -c 10
20.56 req/sec
486 ms/req
4.9 sec
20.70 req/sec
483 ms/req
4.8 sec
ほぼ同等
中負荷
-n 1000 -c 20
43.86 req/sec
456 ms/req
22.8 sec
43.76 req/sec
457 ms/req
22.9 sec
ほぼ同等
高負荷
-n 5000 -c 50
88.37 req/sec
566 ms/req
56.6 sec
109.49 req/sec
457 ms/req
45.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

  • [C#] System.Collections.Specialized.ListDictionary — 小規模辞書に特化した連結リスト実装 May 22, 2026
  • [C#] System.Collections.Specialized.HybridDictionary — 小規模では ListDictionary、大規模では Hashtable May 21, 2026
  • [C#] System.Collections.Stack — 非ジェネリックな LIFO スタックの仕組みと使いどころ May 20, 2026
  • [C#] System.Collections.SortedList — キーで自動整列される連想配列の仕組みと使いどころ May 19, 2026
  • [C#] System.Collections.Queue — 非ジェネリックな FIFO キューの仕組みと使いどころ May 18, 2026

Categories

  • C#72
  • .NET71
  • AWS27
  • Laravel16
  • Linux15
  • MySQL9
  • Apache8
  • PHP8
  • DynamoDB6
  • セキュリティ6
  • Nginx5
  • WordPress4
  • インフラ4
  • Hugo3
  • .NET Framework1
  • Aurora1
  • Filament1
  • Git1
  • SQS1

Tags

  • C#
  • .NET
  • AWS
  • Laravel
  • PHP
  • セキュリティ
  • MySQL
  • Linux
  • コレクション
  • Apache
  • パフォーマンス
  • Code Snippet
  • DynamoDB
  • NoSQL
  • PHP-FPM
  • RDS
  • System.Collections
  • DoS
  • Nginx
  • Windows
  • WordPress
  • メモリ管理
  • 監視
  • 設計
  • Amazon Linux 2023
  • Docker
  • IDisposable
  • Ipset
  • Iptables
  • OPCache
  • Webサーバー
  • オブジェクト指向
  • クラス設計
  • デザインパターン
  • パターンマッチング
  • 継承
  • 認可
  • Aurora
  • Blade
  • Grafana
  • Hugo
  • InfluxDB
  • Policy
  • Record
  • SSG
  • インターフェース
  • エラーハンドリング
  • カプセル化
  • ガベージコレクション
  • モニタリング
Powered by Hugo & Explore Theme.