この記事のポイント
- 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 最新版)。
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=

実測ベンチ結果
①スループット(req/sec)比較
静的 HTML ファイルを ab -n 5000 -c 50 で配信させたときのスループットです。3回計測の平均を載せています。

結果は以下のとおりです。
| サーバー | バージョン | 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 |
②レイテンシ比較(p50 / p95 / p99)
続いて ab -n 10000 -c 100 でより高負荷をかけたときのレイテンシです。値が小さいほど速いです。

| サーバー | 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 へのベンチを例に示します。

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(エンジンエックス)は2004年にリリースされた老舗サーバーです。今回の計測では3本中最もスループットが低い結果でしたが、それでも単体で 10,000 req/sec 超えは十分な性能です。
Nginx の強みはスループット以外にあります。
- リバースプロキシとしての成熟度が高い:Node.js・Python・PHP などバックエンドへの転送設定が豊富に書かれている
- 日本語の情報量が多い:サーバー構築系のチュートリアルはほぼ Nginx が前提になっている
- ロードバランサー機能が標準搭載:
upstreamブロックで手軽に設定できる
VPS でWordPressやLaravel・Djangoを動かすなら、設定例が豊富な 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 は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 は2015年にリリースされたモダンなWebサーバーです。今回の計測で最速(13,399 req/sec)という結果が出て、筆者も少し驚きました。
Caddy の最大の武器は HTTPS 自動化 です。
- Let’s Encrypt による SSL 証明書の自動取得・自動更新が組み込み済み
Caddyfileは数行で書ける(Nginx conf より圧倒的にシンプル)- HTTP/2・HTTP/3 が標準で有効
example.com {
root * /var/www/html
file_server
}
# この3行で HTTPS 対応の静的サイトが完成する
Nginx で同じことをするには server ブロック・listen 443 ssl・ssl_certificate・ssl_certificate_key など十数行が必要です。Caddy の設定シンプルさは特筆ものです。
Caddy の注意点
Ubuntu 24.04 の標準 APT リポジトリには Caddy が含まれていません。インストールには Caddy の公式 APT リポジトリを追加するか、Docker で使う必要があります。また、大規模サイトのチューニング情報は Nginx に比べるとまだ少なめです。
sysbench CPU ベンチ(計測環境の性能確認)
計測環境が極端に遅いと結果に影響するため、Ubuntu 24.04 コンテナ上で sysbench cpu も実行しました。
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 上では今回の数値より若干低くなることを踏まえて読んでください。

Ubuntu 22.04 と 24.04 で Nginx のバージョンは違う?
同じ apt コマンドを打っても、ベースOSのバージョンによってインストールされるパッケージバージョンが変わります。実際に両方のコンテナで確認しました。
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別のベンチマーク比較記事も参考にしてみてください。



コメント