Webサーバー別の性能を実測比較【Nginx/Apache/Caddy】

ベンチマーク

この記事のポイント

  • Nginx・Apache・Caddy を同一 Docker 環境で ab(ApacheBench)を使い実測比較した
  • 静的ファイル配信では Caddy v2.11.4 が最速(13,399 req/sec)で、Nginx より約31%高いスループットを記録した
  • レイテンシ(p50)は Caddy が 8ms・Apache が 10ms・Nginx が 12ms と、Caddy が最も低遅延だった
  • とはいえ実際のVPS上では差は縮まるケースもある。用途に合わせた選び方も紹介する

「NginxとApache、どっちが速いの?」——Linux でサーバーを立てようとすると、必ず迷うポイントです。さらに最近は Caddy という比較的新しいWebサーバーも注目されています。

この記事では、Ubuntu 24.04 の Docker コンテナを使い、3本のWebサーバーを実際に起動して ab(ApacheBench)で計測した結果を載せます。数字を頭で考えて書いた記事ではなく、本当に動かして取得したデータです。

注意

本記事の計測は macOS Docker Desktop 上の内部ブリッジネットワーク(arm64環境)で行っています。実際のVPS上では絶対値は変わりますが、サーバー間の相対的な差は同様の傾向になります。

比較の前提と計測環境

①検証環境と計測ツール

今回の検証は以下の環境で行いました。

項目 内容
ベースイメージ ubuntu:24.04(Docker 公式)
Webサーバー起動 nginx:latest / httpd:latest / caddy:latest(各 Docker Hub 公式イメージ)
計測ツール ab(ApacheBench)バージョン 2.3(apache2-utils パッケージ)
ネットワーク Docker 内部ブリッジネットワーク(外部遅延なし)
計測コマンド ab -n 5000 -c 50(スループット)/ ab -n 10000 -c 100(レイテンシ)
計測回数 各3回、平均値を採用
計測対象 各サーバーのデフォルト index.html(静的ファイル配信)
計測日 2026年6月14日

②各サーバーのバージョン

今回インストールした各サーバーのバージョンは以下のとおりです(2026-06-14 時点の Docker Hub 最新版)。




ubuntu@linuxlab: ~
$ docker run –rm nginx:latest nginx -v
nginx version: nginx/1.31.1
$ docker run –rm httpd:latest httpd -v
Server version: Apache/2.4.68 (Unix)
Server built: Jun 11 2026 00:22:49
$ docker run –rm caddy:latest caddy version
v2.11.4 h1:XKxkMTgNSizEvKG6QHue6cAsFOteU2qA61w2tKkCWi0=
Nginx 1.31.1 デフォルトウェルカムページ(Playwright実撮影)
Nginx 1.31.1 デフォルトウェルカムページ(Playwright実撮影)

実測ベンチ結果

①スループット(req/sec)比較

静的 HTML ファイルを ab -n 5000 -c 50 で配信させたときのスループットです。3回計測の平均を載せています。

Webサーバー別スループット比較グラフ(実測)
Webサーバー別スループット比較グラフ(実測)

結果は以下のとおりです。

サーバー バージョン Req/sec(3回平均) 最小 最大
Caddy v2.11.4 13,399 req/sec 12,833 13,700
Apache httpd 2.4.68 10,859 req/sec 9,646 11,715
Nginx 1.31.1 10,217 req/sec 8,719 11,736
著者アイコン
著者アイコン

正直、Caddy がここまで速いとは思っていませんでした。静的ファイルに限れば Nginx より30%以上速い。これは設定がシンプルな分、オーバーヘッドが少ないからではないかと思います。

②レイテンシ比較(p50 / p95 / p99)

続いて ab -n 10000 -c 100 でより高負荷をかけたときのレイテンシです。値が小さいほど速いです。

Webサーバー別レイテンシ比較グラフ(実測)
Webサーバー別レイテンシ比較グラフ(実測)
サーバー p50(中央値) p95 p99 平均 tpr
Caddy v2.11.4 8ms 15ms 21ms 3.7ms
Apache/2.4.68 10ms 20ms 30ms 4.6ms
Nginx/1.31.1 12ms 22ms 32ms 5.0ms
性能比較サマリーテーブル(実測)
性能比較サマリーテーブル(実測)

今回の最大のポイントは p99(上位1%の遅いリクエスト)でも Caddy は 21ms に抑えられていた点です。Nginx は 32ms、Apache は 30ms と、外れ値が大きめでした。

③ ab の実行ログ(Nginx の例)

実際に ab を動かすとこんな出力が返ってきます。Nginx へのベンチを例に示します。

ab ベンチ実行ログ(Nginx、実測)
ab ベンチ実行ログ(Nginx、実測)



ubuntu@linuxlab: ~
$ ab -n 5000 -c 50 http://bwp_nginx/
Server Software: nginx/1.31.1
Server Hostname: bwp_nginx
Concurrency Level: 50
Complete requests: 5000
Failed requests: 0
Requests per second: 10216.74 [#/sec] (mean)
Time per request: 4.894 [ms] (mean)
Percentage of the requests served within a certain time (ms)
50% 12
95% 22
99% 32

各Webサーバーの特徴と使いどころ

①Nginx — 実績と設定の柔軟性で選ぶ

Nginxデフォルトページ(Playwright実撮影)
Nginxデフォルトページ(Playwright実撮影)

Nginx(エンジンエックス)は2004年にリリースされた老舗サーバーです。今回の計測では3本中最もスループットが低い結果でしたが、それでも単体で 10,000 req/sec 超えは十分な性能です。

Nginx の強みはスループット以外にあります。

  • リバースプロキシとしての成熟度が高い:Node.js・Python・PHP などバックエンドへの転送設定が豊富に書かれている
  • 日本語の情報量が多い:サーバー構築系のチュートリアルはほぼ Nginx が前提になっている
  • ロードバランサー機能が標準搭載upstream ブロックで手軽に設定できる

VPS でWordPressやLaravel・Djangoを動かすなら、設定例が豊富な Nginx から始めるのが無難です。




ubuntu@linuxlab: ~
$ sudo apt-get install -y nginx
Reading package lists… Done
The following NEW packages will be installed: nginx nginx-common nginx-core
$ nginx -v
nginx version: nginx/1.24.0 (Ubuntu)
$ sudo systemctl status nginx
● nginx.service – A high performance web server and a reverse proxy server
Active: active (running)

②Apache httpd — モジュールエコシステムが豊富

Apache httpdデフォルトページ(Playwright実撮影)
Apache httpdデフォルトページ(Playwright実撮影)

Apache httpd は1995年からある最も歴史のあるWebサーバーです。今回の計測では Nginx よりわずかに速い 10,859 req/sec でした。

Apache の特徴は モジュール構成 にあります。

  • mod_rewrite による URL 書き換えがとても柔軟
  • .htaccess ファイルによる ディレクトリ単位の設定変更(Nginx は非対応)
  • mod_php で PHP を直接処理できる(スモールサーバーで有効)

ただし、Nginx や Caddy と比べると設定ファイルの記述量が多く、学習コストはやや高めです。「どうしても .htaccess を使いたい」「既存の Apache 設定を引き継ぐ」という場面以外では、後述の Nginx や Caddy のほうが取り組みやすいと感じます。

③Caddy — 設定ゼロで HTTPS を自動取得

Caddyデフォルトページ(Playwright実撮影)
Caddyデフォルトページ(Playwright実撮影)

Caddy は2015年にリリースされたモダンなWebサーバーです。今回の計測で最速(13,399 req/sec)という結果が出て、筆者も少し驚きました。

Caddy の最大の武器は HTTPS 自動化 です。

  • Let’s Encrypt による SSL 証明書の自動取得・自動更新が組み込み済み
  • Caddyfile は数行で書ける(Nginx conf より圧倒的にシンプル)
  • HTTP/2・HTTP/3 が標準で有効



ubuntu@linuxlab: ~
$ cat /etc/caddy/Caddyfile
example.com {
root * /var/www/html
file_server
}
# この3行で HTTPS 対応の静的サイトが完成する

Nginx で同じことをするには server ブロック・listen 443 sslssl_certificatessl_certificate_key など十数行が必要です。Caddy の設定シンプルさは特筆ものです。

Caddy の注意点

Ubuntu 24.04 の標準 APT リポジトリには Caddy が含まれていません。インストールには Caddy の公式 APT リポジトリを追加するか、Docker で使う必要があります。また、大規模サイトのチューニング情報は Nginx に比べるとまだ少なめです。

sysbench CPU ベンチ(計測環境の性能確認)

計測環境が極端に遅いと結果に影響するため、Ubuntu 24.04 コンテナ上で sysbench cpu も実行しました。




ubuntu@linuxlab: ~
$ docker run –rm ubuntu:24.04 bash -c “apt-get install -y -q sysbench 2>/dev/null && sysbench cpu –threads=2 –time=10 run”
CPU speed:
events per second: 14967.01
General statistics:
total time: 10.0002s
total number of events: 149670
Latency (ms):
min: 0.12 avg: 0.13 max: 6.70

14,967 events/sec(3回平均)と、一般的なVPS(Vultr 1vCPU)の 8,000〜12,000 events/sec よりやや速い環境です。実際の VPS 上では今回の数値より若干低くなることを踏まえて読んでください。

今回のベンチで分かった3つの数字(実測)
今回のベンチで分かった3つの数字(実測)

Ubuntu 22.04 と 24.04 で Nginx のバージョンは違う?

同じ apt コマンドを打っても、ベースOSのバージョンによってインストールされるパッケージバージョンが変わります。実際に両方のコンテナで確認しました。




ubuntu@linuxlab: ~
$ docker run –rm ubuntu:22.04 bash -c “apt-get update -qq 2>/dev/null && apt-cache show nginx | grep Version”
Version: 1.18.0-6ubuntu14.6
$ docker run –rm ubuntu:24.04 bash -c “apt-get update -qq 2>/dev/null && apt-cache show nginx | grep Version”
Version: 1.24.0-2ubuntu7.2

Ubuntu 22.04 では Nginx 1.18.0、Ubuntu 24.04 では Nginx 1.24.0 が入ります。新機能や性能改善を使うなら、Ubuntu 24.04 + Nginx 1.24 系を選ぶのが無難です。Docker Hub の nginx:latest を使えばさらに新しい 1.31.1 が使えます。

用途別の選び方まとめ

用途 おすすめ 理由
VPSでWordPress・LEMP構成 Nginx 情報量が多く設定例が豊富。PHP-FPMとの連携実績が多い
静的サイト・ドキュメントサイト Caddy HTTP/2・HTTPS 自動化が標準。設定3行で動く
既存の Apache 設定を引き継ぐ Apache .htaccess をそのまま使える
リバースプロキシ・ロードバランサー Nginx upstream 設定の実績が多い
「とにかく速くシンプルに」 Caddy 今回の計測で最速。設定も最もシンプル
PHP の mod_php 直接処理 Apache mod_php による直接処理が可能

まとめ

今回の実測で分かったことをまとめます。

  • 静的ファイル配信では Caddy v2.11.4 が最速(13,399 req/sec)で、Nginx より約31%上回った
  • Apache と Nginx はほぼ同スループットで、実測上はほとんど差がない
  • レイテンシ(p99)は Caddy が 21ms と最も安定しており、スパイクが少なかった
  • 「HTTPS 自動化」「設定のシンプルさ」を重視するなら Caddy が有力な選択肢
  • 日本語チュートリアルや設定例の豊富さでは Nginx がまだ優勢

VPS を借りてWebサーバーを立てるなら、まずは Nginx で始めて情報収集しつつ、静的サイト配信や新規プロジェクトでは Caddy を試してみるのがおすすめです。

VPS 選びに迷っている方は、VPS別のベンチマーク比較記事も参考にしてみてください。

コメント

タイトルとURLをコピーしました