Steve Souders - High Performance Web Sites

GoogleのSteve Souders氏がHigh Performance Web Sites :: Call to improve browser cachingにおいて、ブラウザのパフォーマンスを引き上げるためにデフォルトのキャッシュサイズの引き上げと、キャッシュ削除アルゴリズムの改善を盛り込むべきだろうという話題を掲載している。

まず、氏は2007年に発表されたPerformance Research, Part 2: Browser Cache Usage - Exposed! » Yahoo! User Interface Blog (YUIBlog)の調査結果を引き合いにだし、ページビューの80%ほどで用意されたキャッシュが使われているにもかかわらず、ユニークユーザのうち40%から60%程度が、少なくとも1日に1回はキャッシュがない状態でサイトにアクセスしていることを紹介している。

この40%から60%という数はどう考えても高いが、なぜそんなにも多くのユーザが1日に1回はキャッシュがない状態でアクセスしているのか理由がわからなかったと説明。はじめてのアクセス、キャッシュをクリアしているなどが影響していると考えられるが、それでは40%から60%という数には届かないだろうとし、結局のところキャッシュサイズが小さくてキャッシュが消えていることに一因があるのだろうと説明。ブラウザのデフォルトのキャッシュサイズ上限は次のようになっており、これは小さすぎるのだろうとしている。

  • IE: 8MBから50MB
  • Firefox: 50MB
  • Safari: 設定がみつからない
  • Chrome: 80MB以下(ディスクスペースに依存)
  • Opera: 20MB

また、キャッシュが増えてきた場合に削除を実施するアルゴリズムにも改善の余地があるとしている。大抵の削除アルゴリズムは、最近アクセスされていないキャッシュを削除するというものだが、最近の研究の結果、ほかのリソースの読み込みをブロックするJavaScriptと並列にダウンロードできる画像とではそのインパクトが異なるため、JavaScriptのキャッシュをより優先するなどした方が効果が期待できるという。

IE8 - キャッシュサイズ上限と実際の使用サイズ

Firefox 3.6 - キャッシュサイズ上限と実際の使用サイズ

Chrome 5 - キャッシュサイズ上限と実際の使用サイズ

Opera 10.2 - キャッシュサイズ上限と実際の使用サイズ

ユーザのキャッシュそのものの内容を調査するのはプライバシの観点から考えて難しい。氏はBrowser Disk Cache Surveyにおいてキャッシュサイズと実際に使われているサイズを調査するサイトを用意しており、ここで状況を報告してほしいと説明している。主要ブラウザにおけるキャッシュに関する情報のチェック方法はBrowser Disk Cacheにおいてまとめて説明されている。

Steve Souders氏はGoogleに務める以前はYahoo!でYSlowの開発に従事。Chief Performance Yahoo!だった人。Webページの高速化に関する開発に携わっており、特にHTMLやHTTP、JavaScript関連の高速化技術に定評がある。