YSlowのSteve Souders氏が新測定ツールHammerheadをリリース

米Yahoo!のクライアント側パフォーマンスチューニングで名を上げ、Googleに移籍した、「ハイパフォーマンスWebサイト」の著者スティーブ・サウダーズさんが、新しいプラグインHammerheadを出しました。

Hammerheadは、FirefoxのFireBug拡張の上で動く子拡張。Firebugを入れた上でインストールする必要があります。

Firefox3のアドオンマネージャのセキュリティチェックに引っかかるので、パラメータをいじらないとインストールできません。about:configから手順に沿ってパラメータを一つ追加する必要があります。

ブラウザ側のパフォーマンス測定をするときは、キャッシュの影響を排除しないと正確な測定ができません。このプラグインではまず、ディスクやメモリ上のキャッシュをステータスバーからクリアするための簡易な手順が提供されます。

これは、3つのURLについて、キャッシュが空の場合と最大限キャッシュが効いた場合のそれぞれについて、3回ずつ測定した結果を表示させたものです。Primed Cacheの方のロード時間が大きいままであれば、一度読み込んだHTML、画像やJavascriptなどがうまくキャッシュされないような設定になっていないかを疑う必要がありますね。

[am]487311361X[/am]

symfony camp 2008が始まってます

PHPフレームワークsymfonyのカンファレンスsymfony camp 2008がオランダで開催中です。

Fabienさんの初日のレポートで、さっそく面白いプレゼン資料が出てきてるので紹介します。(写真みたら、ほんとに「キャンプ」してるんですね)

この中で僕が興味を持ったのは、3番目のYahoo!でのsymfonyの使われ方の話と、4番目のチューニング話。

Yahoo!のほうは、大成功しているQ&AサイトのYahoo! Answersなどがsymfonyベースで動いていることの説明。初出じゃない話ですけど、なぜsymfonyを選定することに至ったかとか、大規模サイトの設計で考慮した点とか、symfonyから何を使って何を使わなかったかという取捨選択の話、そして最近公開されてきてますけど、Yahooが作った数々のsymfony pluginsについて(p.24)、などが語られています。

チューニングのほうは、symfony+PHP+Apache等で性能を稼ぐためのポイントがよくまとまってます。

Yahoo!のDustin Whittleさんがプレゼン資料の最後につけてくれた6冊の「オススメ本リスト」、日本語訳が出てるものが多いです。

[am]1590597869[/am]
[am]067232699X[/am]
[am]4873112095[/am]
[am]4873113113[/am]
[am]4873113644[/am]
[am]487311361X[/am]

僕は3冊読んでました。集合知プログラミングはまだ買ってないんだけど、読まなきゃなと思ってます。

ページの読み込みを早くするもう20個のtips

PHPケベックカンファレンスYahoo!の人が発表した資料が公開されていますね。

YSlowでチェックできる14個のルールに加えて、あらたに20個のチェックポイントが解説されています。カテゴリごとにわかれているのを要約するとこんな感じ。

サーバ

  • 早めのフラッシュ
  • AjaxにはGET

コンテンツ

  • 遅延読み込み
  • 次回以降のための先行読み込み
  • DOM要素を減らす
  • 複数、しかし4個以下のドメインから並行読み込み
  • iframe個数削減
  • 404エラーをなくす

クッキー

  • Cookieサイズを最小に
  • Cookieを使わないドメインでのホスト分割

Javascript

  • DOMアクセス最小化
  • イベントハンドラの改善

CSS

  • @importじゃなく<link>
  • IEのフィルタは避ける

画像

  • 画像の軽量化 GIFをPNGに、PNGの圧縮、JPEG内のコメント削除
  • CSSスプライトの効率化
  • 表示サイズ以上の画像を送らない
  • faviconを小さく、キャッシュ可能に

モバイル

  • 解凍後のコンポーネントサイズを25Kbytes以下に(iPhoneがキャッシュしなくなる)
  • マルチパート化

さすがに膨大なトラフィックを扱うサイトだなあ、というとこですね。それぞれの説明も読まなきゃ。