Brotli vs Gzip — どちらの圧縮が優れているか?
BrotliとGzip圧縮の比較:速度、圧縮率、ブラウザサポート、使い分け。HTML、CSS、JSの実際のベンチマークを紹介。
Fundamentals
詳細な説明
Brotli vs Gzip:包括的な比較
Brotli(Content-Encoding: br)はGoogleが開発した新しい圧縮アルゴリズムです。gzipよりも優れた圧縮率を達成することが多いですが、トレードオフは微妙です。
圧縮率の比較
Webアセットの一般的な圧縮率:
| コンテンツタイプ | Gzip(レベル6) | Brotli(レベル6) | Brotli(レベル11) |
|---|---|---|---|
| HTML | 70–75% | 75–80% | 80–85% |
| CSS | 80–85% | 83–88% | 87–90% |
| JavaScript | 65–75% | 70–78% | 75–82% |
| JSON | 75–85% | 80–88% | 85–92% |
Brotliは同等の速度設定でgzipより通常15–25%小さい出力を実現します。
速度の比較
- Gzipレベル6:圧縮速度 約100–200 MB/s
- Brotliレベル6:約50–100 MB/s(約2倍遅い)
- Brotliレベル11:約2–5 MB/s(非常に遅い、静的プリ圧縮専用)
使い分け
| シナリオ | 推奨 |
|---|---|
| 静的アセット(ビルド時) | Brotliレベル11 — 最高の圧縮率 |
| 動的レスポンス(API) | Gzipレベル6 — リアルタイムに十分 |
| CDNエッジ圧縮 | Brotliレベル4–6 — 良いバランス |
| レガシーブラウザサポート | Gzipをフォールバック |
ユースケース
CDN設定の判断、ビルドパイプラインの設定、サーバー構成。トレードオフを理解することで、静的コンテンツと動的コンテンツに適した圧縮戦略を選択できます。