ハイパフォーマンスWebサイト

こいつはたまらん!


ハイパフォーマンスWebサイトというタイトルを聞くとDBの最適化や分散構成でスケールアウトできるアーキテクチャなどを思い浮かべるが、この本は違う。システム内部の最適化ではなくブラウザとシステム間の最適化を行っている。
目次を見るとわかるように、SQLのチューニングなどは一切行っていない。それにも関わらずハイパフォーマンスなWebサイトを創るノウハウがぎっしりと詰まっている。

1章 ルール1:HTTPリクエストを減らす
2章 ルール2:CDNを使う
3章 ルール3:Expiresヘッダを設定する
4章 ルール4:コンポーネントgzipする
5章 ルール5:スタイルシートは先頭に置く
6章 ルール6:スクリプトは最後に置く
7章 ルール7:CSS expressionの使用を控える
8章 ルール8:JavaScriptCSSは外部ファイル化する
9章 ルール9:DNSルックアップを減らす
10章 ルール10:JavaScriptを縮小化する
11章 ルール11:リダイレクトを避ける
12章 ルール12:スクリプトを重複させない
13章 ルール13:ETagの設定を変更する
14章 ルール14:Ajaxをキャッシュ可能にする
15章 米国トップ10サイトの分析

ハイパフォーマンスなWebサイトを創るという目的の達成のためのノウハウを記した本はたくさんあるがこういう視点の本は珍しいのではないか。パフォーマンスチューニングといって、スタイルシートの宣言する位置を考える人は稀なのでは?

本書で示すノウハウは(ルール2以外)簡単なものであるが効果は大きい。場合によっては待ち時間を6割程度削減しているものもある。これほど簡単でありながら効果が大きい理由も丹念に解説しているので十分な説得力を持っている。HTTPリクエストのヘッダの細かな解釈やレンダリングの順序など約150ページ程度の本とは到底思えない満腹感がある。

この本を読んだ後では今までのパフォーマンスチューニングがバックエンドに注目したものばかりだったのが不思議に思えてくる。これほど効果が大きいのに、なぜ?いつも FireBug の接続時間で多数のHTTPリクエストの所要時間をあまり注目せず、システムの処理時間に注目してたのは何故なのだろう。


最後の章では MSN や Yahoo! や Facebook などの超巨大モンスターサイトがどれだけ本書のルールに従っているかを示している。そして結論は、ほとんどのサイトではまだ高速化の余地があるということ。なんと夢のあること!これならまだWebでお金を稼げそうだ。


Webのパフォーマンスに関して、明らかに視野が広がる一冊。

ハイパフォーマンスWebサイト ―高速サイトを実現する14のルール

ハイパフォーマンスWebサイト ―高速サイトを実現する14のルール