🌊
🚀 2025年:Webフレームワーク性能ランキングまとめ
TechEmpower Framework Benchmarks Round 23
※AIがまとめているので間違っていたらコメントください
🧭 概要
TechEmpower 社が毎年公開している 「Web Framework Benchmarks」 は、
世界中のバックエンドフレームワークを同一条件で性能比較した信頼性の高い指標です。
Round 23(2025 年2 月発表)では 331 種類 のフレームワークがテストされ、
主に I/O 性能(通信やDBアクセス) に焦点を当てています。
⚙️ テスト環境
項目 | 内容 |
---|---|
日付 / ラウンド | Round 23 (2025-02-24) |
ネットワーク | 40 Gbps 光ファイバー(前回より高速化) |
OS / 環境 | Linux (共通環境で実行) |
CPU / メモリ | 高性能 Xeon マルチコア + 64 GB RAM |
DB | PostgreSQL 15 |
テスト内容 | JSON シリアライズ / 単一 & 複数 DB クエリ / キャッシュ / Fortune テンプレート / 更新 / Plaintext |
リクエスト規模 | 数百万 req/s 規模で 10 秒 以上 連続実行 |
構成 | 単一 サーバー(水平スケール なし) |
計測目的 | フレームワークの “生の処理性能” (ライブラリやAPI層を除外) |
⚡ 結果ハイライト(Fortunes テスト)
ランク | フレームワーク | 言語 | 処理速度 (req/s) 概算 | 備考 |
---|---|---|---|---|
1 | may-minihttp | Rust | 約 1 ,327 ,000 | 圧倒的 I/O 性能 |
2 | h2o | C | 約 1 ,226 ,000 | 軽量 C サーバー |
7 | axum (PostgreSQL) | Rust | 約 1 ,114 ,000 | 安定 フレームワーク |
17 | fasthttp (prefork) | Go | 約 959 ,000 | Go 代表格 |
35 | ASP.NET Core | C# | 約 741 ,000 | 高効率 JIT 環境 |
69 | uWebSockets.js | Node.js | 約 483 ,000 | Node系 最速 |
166 | Fastify (Postgres) | Node.js | 約 265 ,000 | 軽量 Node |
177 | Spring WebFlux | Java | 約 245 ,000 | Reactive 対応 |
230 | NestJS (Fastify adapter) | TypeScript | 約 160 ,000 | 構造化 が強み |
321 | NestJS (Express adapter) | TypeScript | 約 82 ,000 | I/O 性能 は低め |
286 | FastAPI | Python | 約 109 ,000 | 読みやすさ 重視 |
472 | Laravel | PHP | 約 16 ,000 | 生産性 特化 |
🧩 結果からわかる傾向
観点 | 得意な言語 / フレームワーク | 解説 |
---|---|---|
I/O バウンド性能 | Rust (axum 等)、Go (fiber, fasthttp)、Node.js (uWebSockets.js 等) | 非同期 I/O や イベント駆動 で 圧倒的 に 強い |
CPU バウンド性能 | Java (Spring, Quarkus)、C++、C# (ASP.NET Core) | マルチスレッド & JIT 最適化 で 重計算 に 強い |
開発生産性 | NestJS、FastAPI、Laravel、Spring Boot | コード構造 と 保守性 に 優れる |
バランス型 | Go + Fiber / Echo / Gin | シンプル で 高速、 軽量API 構築 に 最適 |
⚠️ 注意点 — 誤解されやすいポイント
💡 このベンチマークは I/O バウンド性能 中心です。
- 対象: 主に API 通信 ・ DB アクセス など 「待ち時間が発生する処理」
- 非対象: 暗号化・画像処理・AI 推論 など CPU 計算 中心 の処理
したがって 「Rust や Go が 圧倒的に速い」 のは、
非同期I/O を無駄なく処理できる ためであり、
CPU バウンドな処理では Java や C# が有利 です。
🧠 まとめ:用途に合わせた選び方
用途 | 向いている技術 |
---|---|
超高速 API ・ リアルタイム通信 | Rust (axum, actix) / Go (fiber) / Node.js (uWebSockets.js) |
業務アプリ ・ 複雑ドメイン | Java (Spring Boot / Quarkus) / C# (ASP.NET Core) |
スタートアップ ・ 試作 ・ 開発効率重視 | NestJS / FastAPI / Laravel |
学習 ・ モダン構成理解 | NestJS (Express + Fastify 両対応) / Next.js サーバー構成 連携 |
🧩 補足:ベンチマークの目的
このテストは、
「同一ハードウェア上での フレームワーク単体の処理能力 を比較」
することを目的としています。
つまり 実運用での性能(スケールアウト、キャッシュ、LB 含む)とは異なる 点に注意が必要です。
現実的にはネットワーク・DB・アプリ層のオーバーヘッドで 1/10 〜 1/100 程度 になります。
🏁 結論
- ⚡ Rust & Go が I/O 性能で 圧倒的
- 🧩 Java & C# は CPU バウンド 処理 や 業務 向け で 堅牢
- 🧠 Node.js 系(特に NestJS) は 開発効率 で 依然 人気
- 🐍 Python (FastAPI) や PHP (Laravel) は 生産性 重視 だが 速度 面 では 劣る
Discussion