コンテンツ効率の最適化

当社のウェブ アプリケーションは、その範囲、野心、機能が拡大し続けています。これは良いことです。一方、より充実したウェブへの絶え間ない行進により、新たなトレンドが生まれています。つまり、各アプリケーションがダウンロードするデータの量は、着実なペースで増加し続けています。優れたパフォーマンスを実現するには、1 バイト 1 バイトの配信を最適化する必要があります。

最新のウェブ アプリケーションとはこの問いに答えるには、HTTP Archive が役立ちます。このプロジェクトでは、最も人気のあるサイト(Alexa のトップ 1M リストから 300,000 以上)を定期的にクロールし、個々のリンク先のリソース数、コンテンツ タイプ、その他のメタデータの数に関する分析情報を記録し、集計することで、ウェブの構築方法を追跡しています。

HTTP アーカイブのトレンド

50 パーセンタイル 75 パーセンタイル 90 パーセンタイル
HTML 13 KB 26 KB 54 KB
画像 528 KB 1,213 KB 2,384 KB
JavaScript 207 KB 385 KB 587 KB
CSS 24 KB 53 KB 108 KB
その他 282 KB 308 KB 353 KB
合計 1,054 KB 1,985 KB 3,486 KB

上記のデータは、2013 年 1 月から 2014 年 1 月の間に、人気のダウンロードサイトにおけるダウンロード バイト数の増加の傾向を示しています。もちろん、すべてのサイトが同じ速度で成長しているわけでも、同じ量のデータを必要とするわけでもありません。そのため、分布内の異なる分位数である 50 番目(中央値)、75 番目、90 番目に注目します。

2014 年初頭のサイトの中央値は 75 のリクエストで構成されており、転送された合計バイト数は 1, 054 KB となり、合計バイト数(およびリクエスト)は前年を通して一定のペースで増加しています。それ自体はそれほど驚くことではありませんが、パフォーマンスに重大な影響を及ぼします。インターネットの速度は急速に向上していますが、速度は国によってさまざまです。特にモバイルでは、多くのユーザーが依然としてデータ容量の上限と高額な従量制プランに悩まされています。

デスクトップ向けのアプリケーションとは異なり、ウェブ アプリケーションには別途インストール プロセスは必要ありません。URL を入力すれば自動的に起動します。これがウェブの重要な機能です。しかし、そのためには数十、場合によっては数百ものさまざまなリソースを取得しなければならないこともよくあります。そのすべてがメガバイト規模のデータになる可能性があり、目指すインスタント ウェブ エクスペリエンスを促進するために数百ミリ秒でまとめられる必要があります。

こうした要件を踏まえると、インスタント ウェブ エクスペリエンスを達成することは決して容易ではありません。そのため、不要なダウンロードを排除し、さまざまな圧縮手法で各リソースの転送エンコードを最適化し、可能な場合は常にキャッシュを活用して冗長ダウンロードを排除するという、コンテンツの効率の最適化が非常に重要です。