このエントリーをはてなブックマークに追加

Velocity 2009 Day 3

Velocity 最終日でした。

オープニングキーノートのあと、Google の Mayer 氏による「In Search of… A better, faster, stronger Web」というタイトルで Google で行ったさまざまな施策について紹介。資料は、こちら

  • デフォルトの検索結果の表示件数が 10 件になっていることをあげて、30 件すると 0.9 秒かかってしまうのに対して 10 件の場合 0.4 秒で済む
  • Google Reader の高速化について紹介、高速化したことでアクティブユーザが増えた
  • Google の検索結果に表示される Google Checkout のアイコン表示の高速化について紹介、アイコンは画像ではなく table  タグで実現している(日本からアイコンが表示されない)、その結果 2% 表示スピードが向上した
  • Google News の高速化について紹介
  • Google Maps の高速化について紹介、12% のユーザは遅い接続だったことに注目して画像を圧縮してさらに、プログレッシブロードディングすることで 2-3 倍高速になった
  • Google が公開している高速化のための設計を紹介、Google Code で公開されている
  • 雑誌のようにウェブも素早く閲覧したい

講演が終わったあと、Mayer 氏のまわりはものすごい人だかりでした。

Performance Tools

さまざまなウェブ用のパフォーマンスツールがたくさん紹介された。PagetestHTTPWatchYSlowVRTAFirebug、と豪華な共演だった。

Pagetest は、URL を入力して接続元のロケーションを選択して、そのときのパフォーマンスをみることができる。無料で使えるので、使ってみたほうが分かりやすいと思う。

HTTPWatch は、IE と Firefox 向けのプラグインで、HTTP のさまざまな情報の閲覧(POST データなど)や、ネットワークレベルでのタイムチャート(DNS 解決にどのくら時間がかかったなど)を表示することができる。機能は、このページにまとまっている。ベーシック版は無料で使えることができて、プロフェッショナル版は有料になっている。それぞれの比較は、このページにまとまっている。

YSlow は、2.0 の新機能について紹介。

VRTA は、Visual Round Trip Analyzer の略で、ウェブのパフォーマンスを計測できる Windows アプリケーション。

Firebug は、これから登場する 1.4 について紹介。

World’s Simplest Latency Simulator

Aptimize のサービスについて紹介。

High Performance at Massive Scale – Lessons Learned at Facebook

Facebook の Johnson 氏による Facebook での貴重な体験を紹介。とても貴重な情報のためか、このセッションは立ち見がでるほどの大盛況ぶりだった。

  • Facebook のアーキテクチャーは、ロードバランサー、ウェブサーバ、Memcached サーバ、データベースサーバ、という構成
  • Memcahed サーバの比率がとても高いという印象をうけた
  • 学んだことのまとめとして、キャッシュはとても高速、似たデータは計算してなるべく同じサーバへ格納する、1台から4台くらいの小さなクラスターを使う、ということでした

なり抽象度が高い講演であったと思います、動画が公開してほしいセッションの一つです。

Drizzle: Scaling for the Clouds

Drizzle の講演でした。Drizzle の紹介についてでした。紹介中、Drizzle は C++ で書かれていますが、boost を使っていないか?という質問がありました。回答は、OSX で動作させたい、パッケージングが大変などの理由から使っていないということでした。

MySQL Performance from Day #1

Zawodny 氏の講演でした。第一日目の BOF でのフィードバックの内容でした。第一日目に BOF があったとは気がつきませんでした。。。

  • インデックスについて、多すぎるインデックスは自分を締めることになる
  • MySQL のクエリーキャッシュは使用しない
  • マルチコアの世界ではレプリケーションの問題が発生する、なぜならレプリケーションはシングルスレッドでやっているため
  • メモリを多く載せる
  • XtraDB あるいは MySQL 5.4 を使用することで、パフォーマンス向上が期待できる
  • 成長し続けるデータに対する計画をたける
  • よく発行されるクエリーや遅いクエリーに重点をおいてチューニングする

ほとんど第一日目の BOF からの内容だったので、BOF に参加していなかったので話が理解できなかったです。

Frontend Performance Engineering in Facebook

Facebook エンジニアの Wei 氏とJiang 氏による Facebook のおもにフロントエンドのパフォーマンス向上施策について紹介でした。

  • ajaxification という施策で、ページのロードスピードが 40-50% 向上した
  • Facebook のユーザは、ブラウザの戻る/進むボタンを多用して、3から4ページごとにホームに戻るという行動をとるユーザが多いとのこと
  • この特性を利用して、ページキャッシュを多用するようにしたところ、3 〜 4 倍高速になったとのこと
  • CSS Sprite Image を使っているが、すべてのイメージをまとめるのでなくて、ページごとによく組み合わせのあるイメージのみをまとめて、転送効率をよくしている

展開が速すぎてまとめきれなかったので、資料の公開が待ち遠しいセッションの一つです。

Creating Instant Response Time Predictions with neXpert

neXpert というツールの紹介。

  • neXpert は、Fiddler のプラグイン
  • Fiddler は、Windows アプリケーションで、サーバ/クライアント間のHTTP(s) のトラフィックのログをとることができるツール
  • Fiddler は、フリーウェア

Native CPU Performance in the Browser with Google Native Client

Google の chen 氏による Google Native Client の紹介。Google I/O 2009 でも紹介されていた技術ですね。

  • Native Client は、ウェブアプリケーション上で x86 のネイティブコード(C/C++など)が動作させることができる技術
  • object タグで指定して、拡張子は nexe になっていた
  • プロジェクトのゴールは、JavaScript と同じくらい安全にネイティブコードを動作させるとのこと

State of Performance

最後の講演として、Velocity の chairman であり、YSlow の作者でもある Google の Souders 氏によるパフォーマンスの状態についての講演。おもに Firebug, YSlow, Page Speed, HttpWatch, PageTest, VRTA, and neXpert などのウェブのパフォーマンスを計測することができるツールがたくさん登場してきたというまとめのみ。

次のエントリで、「写真で振り返る Velocity」と題して個人的な所感をまとめておこうと思います。