Googleが収集したデータによると、今日のWebページの平均サイズは320KB。インターネットユーザーの接続帯域の平均は1.8Mbpsである。机上の計算では、平均的なWebページは1.4秒でロードされるはずだ。ところが実際のWebページの平均ロード時間は4.9秒となっている。3.5秒も遅いのだ。
ネットワーク速度は着実に向上しており、グローバル規模の平均1.8Mbpsが3倍程度に伸びる見通しが立っている。だが、「ネットワークの向上と共に (インターネットの)プロトコルやインフラもアップデートしていかなければ、帯域が拡大されても、それらがムダにしてしまう」……O'ReillyのWebパフォーマンスに関するカンファレンス「Velocity 2010」の基調講演で、Googleでインフラ開発を率いるエンジニアリング担当バイスプレジデントUrs Holzle氏が指摘した。同社は本のページをめくるような感覚で、ユーザーがWebページを移動できるようにしたいと考えている。そのためには最速100ミリ秒というようなロード時間を視野に入れているという。その目標に向けた、GoogleのWeb高速化の取り組みをHolzle氏は紹介した。
Webサイトのロード時間を検索ランキングに加味
GoogleのWeb高速化の取り組みで、エンドユーザーに最も知られているのはWebブラウザ「Chrome」である。「われわれの目標はブラウザ市場のシェア100%の獲得ではない。Webを前進させたいのだ」とHolzle氏。Chromeの登場によってJavaScriptの実行速度に注目が集まり、FirefoxやInternet Explorerも高速化に注力し始めた。そして様々なブラウザでWebアプリが高速に動作するようになると、Webコンピューティングに対するエンドユーザーの見方も変わってきた。ブラウザ市場を席巻するのではなく、Webを前進させる競争にブラウザベンダを巻き込むのがChrome提供の狙いである。
平均的なWebページはサイズが320KBで、7回のDNS参照を行い、44リソースを使用する。またコンテンツの1/3は圧縮されていない状態だという。
TCPは、コンジェスチョンウィンドウの初期値を高めて開始を早めたり、リトランスミットのタイムアウトを引き下げてロス回復を短縮するなどの調整が可能だ。Googleではサイト自体には変更を加えずに、TCPの改善だけで12%の高速化を実現した。中でも画像検索のロード時間は18%の短縮になったという。
DNSについて、GoogleはDNSリクエストにクライアントIPを含めるように働きかけている。現状ではリクエストが発信された場所を特定できないことがあり、クライアントIPによってエンドユーザーと近くのデータセンターを最短距離でマッピングできるようにするのが狙いだ。
SSLは、データの送受信を開始するまでに2度のハンドシェイクでサーバとの2往復を繰り返す。これに1/4秒ほど費やされる。また証明書の確認においてサービスが正常に機能していなければ、さらに数秒の時間を要する。「SSLは(機能ではなく)スピードという点でペナルティが多い」とHolzle氏。GoogleはFalse Start、Snap Start、OCSPステープリングなどによってSSLのペナルティの解消に努めている。こうしたSSL改善を実装したAndroidではSSLが10%高速に処理されるようになった。
Googleは昨年11月に「SPDY」という、HTTPの改善を目指したアプリケーション層プロトコルのリサーチプロジェクトを明らかにした。多重化ストリーム、リクエスト・プライオリタイゼーション、HTTPヘッダ圧縮などを用いて、Webのコンテンツ送受信におけるレイテンシを短縮する。ラボ環境におけるSSL接続のシミュレーションでHTTPにSPDYを組み合わせたプロトタイプは、トップ100に含まれる25Webサイトを通常のHTTPよりも最大55%短い時間でロードした。パケット数とデータ転送量は、それぞれ40%と15%の減少だった。中でもHTTPヘッダは1秒以上の時間を要するケースもあり、ヘッダ圧縮だけで45~1,142ミリ秒のレイテンシの削減につながる。低速な接続環境においては、この差は大きいという。
このほかGoogleはインフラ改善策として独自のパブリックDNSリゾルバ「Google Public DNS」の提供、jQueryやフォントなど共用されるファイルのホスティング、1Gbpsの光ファイバーネットワークで米国の一般家庭を結ぶ"超高速ブロードバンド"サービスの実験などを進めている。
Holzle氏は最後に「2番目が何であれ、最も重要な機能は"スピード"である」というLarry Page氏の言葉を紹介した。Webが高速になるほどに、ユーザーはより多くの時間をWebに費やし、Google検索が使われる機会も増える。スピードは同社の収益に大きく影響する要素である。同社は今年、検索のランキング・アルゴリズムにWebページがロードされる時間を加味し始めた。「ユーザーは遅いWebページを不快に思う。Webページが遅いままでは上のランクは目指せない」と、会場のWeb開発者にもWeb高速化の取り組みへの参加を促した。