グーグルがWebを高速化するために何をしているか

2010年7月5日


WebWeb

622WebVelocity 2010Urs HölzleWebSpeed Matters

Web

スピードは重要だ

fig

Speed mattersWeb   

調Web4.9Web320KB1.8Mbps1.4 
fig

Webページが表示されるまでのシーケンスを見ていこう。そうすると、DNSのルックアップ、TCPコネクションのセットアップ、サーバ処理待ち、データ送信、パース処理とJavaScriptの実行などの多くの処理が行われている。Webページは、思ったより複雑なものなのだ。

fig

Web320KB447DNSWeb

Web

WebChromeJavaScriptDNSWeb


fig

そしてブラウザを超えて、高速化のための取り組みを行っている。80年代前半のTCP/IPプロトコルが前提としていた回線は大きく変わった。かつて56Kbitラインは速い回線だったのだ。インターネットはいまより1万倍は遅かった。そこでTCPをモダンなネットワークにチューンすべく、IETFにドラフトを提出している。

これにより、アプリケーションやWebページを変えることなく12%は高速化される。

fig

DNSWeb

ISPDNSDNSIP
fig

SSLにも速度の問題がある。SSLはデータをやり取りする前に、2回のハンドシェイク、2回のラウンドトリップが発生する。これを回避するような実装が可能だ。Android SSLはこれで10%の高速化を実現した。

fig

HTTPには非常に大きな改善の可能性がある。まず、Webページに含まれる44の要素をロードするために、44回もリクエストを繰り返して呼び出している。そのたびにサーバのレスポンスを待たなければならない。

SPDY(スピーディ)という技術をオープンソース化しており、Chromeとグーグルのサーバサイドで実装を実験中だ。Apache対応のモジュールもある。これによりページのダウンロードが25%高速化した。トップ25のサイトでやりとりされるパケットが40%も減少したのだ。

さらにSPDYのテクニックとしてヘッダ圧縮もしている。クライアントがサーバへ問い合わせるときには、毎回ヘッダが送信されている。ヘッダにはブラウザのバージョンや文字コード等々の情報が含まれているが、これは実際には最初の1回だけやりとりすれば十分だ。このテクニックをCNETのWebサイトで試したところ88%のヘッダを削減することができた。

fig

最後にインフラストラクチャについての改善もある。Public DNSの提供だ。グローバルに分散された高速なDNSを提供している。1Gbpsブロードバンドのテストも始めた。また、jQueryのような、多くのWebサイトが利用しているリソースのホスティングも行っている。

fig

Web

使Web




TCP Initial Congestion Window

TCP Retransmit Rate

DNS Client IP in Requests

SSL False Start

SSL Snap Start



JavaScript4

JavaScriptIE9Firefox

WebWebWeb

あわせて読みたい

Web技術 Web標準 Google SPDY Webブラウザ




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed


10


Stack Overflow6IT使JavaScriptPostgreSQL1Stack Overflow 2024 Developer Survey
GoogleBILooker StudioGemini in Looker
Docker Desktop 4.32AWSAzureCompose File
GoogleAIUIAI Generated UI
GoogleAIProject Oscar
AWSMySQLODBCAmazon AuroraAWSIAM
AIEinstein Service AgentSalesforce
GitLabDatadogCEO
Google DocsMarkdown
PostgreSQLCharmed PostgreSQLCanonical