Measuring Web Performance - 自己満足で終わらないためのパフォーマンス計測 -
Upcoming SlideShare
Loading in...5
×
 

Measuring Web Performance - 自己満足で終わらないためのパフォーマンス計測 -

on

  • 1,388 views

世の中にはさまざまなパフォーマンスTipsがあり対応したものの、本当にこれって効果でているの?とは思ったことはないでしょうか。たぶん速くな...

世の中にはさまざまなパフォーマンスTipsがあり対応したものの、本当にこれって効果でているの?とは思ったことはないでしょうか。たぶん速くなっただろう……で終わってないでしょうか。

本セッションでは、まずブラウザにページが表示されるまでの仕組みを学びつつ、どこにコストをかければいいのか理解します。各段階別のツールでちゃんと効果測定すれば自己満足で終わらない仕事が可能です!

Statistics

Views

Total Views
1,388
Views on SlideShare
1,385
Embed Views
3

Actions

Likes
10
Downloads
8
Comments
0

1 Embed 3

http://localhost 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Measuring Web Performance - 自己満足で終わらないためのパフォーマンス計測 - Measuring Web Performance - 自己満足で終わらないためのパフォーマンス計測 - Presentation Transcript

  • Measuring Web Performance自己満足で終わらないためのパフォーマンス計測 Internet Business Headquarters Web developer Koji Ishimoto 2012.06.30 @CSS Nite LP23
  • t32k.me
  • 2012.06.01 Joined!
  • @cssradar @hiloki
  • AgendaI. なぜ計測しなければならないのかII. ページが表示されるまでの仕組みIII. 計測ツールの紹介IV. まとめとこれからのこと
  • I. なぜ計測しなければならないのか? Why?
  • Too Many Best Practices
  • Exceptional Performance - Yahoo! Developer Network
  • 35Exceptional Performance - Yahoo! Developer Network
  • 35Exceptional Performance - Yahoo! Developer Network Web Performance Best Practices - Google Developers
  • 35Exceptional Performance - Yahoo! Developer Network 31 Web Performance Best Practices - Google Developers
  • 80:20
  • 80:20Designer?
  • 高速サイトを実現する14のルール1:HTTPリクエストを減らす 8:JSとCSSは外部ファイル化する2:CDNを使う 9:DNSルックアップを減らす3:Expiresヘッダを設定する 10:JavaScriptを縮小化する4:コンポーネントをgzipする 11:リダイレクトを避ける5:スタイルシートは先頭に置く 12:スクリプトを重複させない6:スクリプトは最後に置く 13:ETagの設定を変更する7:CSS expressionの使用を控える 14:Ajaxをキャッシュ可能にする
  • Case: Web Designer制作サイト: 企業サイト(ドキュメントページ) JSの使用: jQueryプラグインを少々カバー範囲: ドメインの取得からSEO
  • Make Fewer HTTP Requests Use a Content Delivery NetworkEffective Add Expires or Cache-Control Header Gzip Components Put Stylesheets at Top Put Scripts at Bottom Avoid CSS Expressions Make JavaScript and CSS External Reduce DNS Lookups Minify JavaScript and CSS Avoid RedirectsIneffective Remove Duplicate Scripts Configure ETags Make Ajax Cacheable Difficult Easy Case: Web Designer
  • Make Fewer HTTP Requests Use a Content Delivery NetworkEffective Add Expires or Cache-Control Header Gzip Components Put Stylesheets at Top Put Scripts at Bottom Avoid CSS Expressions Make JavaScript and CSS External Reduce DNS Lookups Minify JavaScript and CSS Avoid RedirectsIneffective Remove Duplicate Scripts Configure ETags Make Ajax Cacheable Difficult Easy Case: Web Designer
  • Make Fewer HTTP Requests Use a Content Delivery NetworkEffective Add Expires or Cache-Control Header Gzip Components Put Stylesheets at Top Put Scripts at Bottom Avoid CSS Expressions Make JavaScript and CSS External Reduce DNS Lookups Minify JavaScript and CSS Avoid RedirectsIneffective Remove Duplicate Scripts Configure ETags Make Ajax Cacheable Difficult Easy Case: Web Designer
  • CSSセレクタの最適化 Right to Left
  • 2009Performance Impact of CSS Selectors http://www.stevesouders.com/blog/2009/03/10/performance-impact-of-css-selectors/
  • -20ms
  • 2011CSS Selector Performance has changed! (For the better) http://calendar.perfplanet.com/2011/css-selector-performance-has-changed-for-the-better/
  • Optimizing CSS selector matching (WebKit)- Style Sharing - Ancestor Filters- Rule Hashes - Fast Path
  • -5ms
  • If you arent getting 90+ PageSpeed scores, its way too earlyto be thinking about selectoroptimization. * { box-sizing: border-box } FTW « Paul Irish
  • 費用対効果を知る
  • II. ページが表示されるまでの仕組み Life of Web Page
  • Life of Web PageRequest Onload Request User’s Interaction HTML Sent Page Complete
  • Life of Web PageRequest Onload Request User’s Interaction HTML Sent Page Complete}
  • Performance TimingPrompt App for Redirect DNS TCPunload cache Unload Request Response Processing Onload Rendering
  • Performance TimingPrompt App for Redirect DNS TCPunload cache Unload Request Response Processing Onload Rendering }
  • Rendering Flow (WebKit) Layouttag DOM Tree Render Tree Paint!style Style Struct
  • How Browsers Work: Behind the scenes of modern web browsers - HTML5 Rocks 邦訳:http://shanon-tech.blogspot.jp/2011/09/web.html
  • 俯瞰的視点を持つ
  • III. どこを計測するのか?計測手段 Measure Tools
  • I. 評価・アドバイス系II. ASP系III. デベロッパーツール系IV. スポット計測系
  • I. 評価・アドバイス系
  • YSlowティア
  • YSlow
  • PageSpeed Insights
  • PageSpeed Insights
  • YSlow / PageSpeed Insights- ビギナー向け- 一番最初に使用すべきツール- 優先度の高いものから対応
  • II. ASP系
  • WebPagetest
  • WebPagetest
  • Mobitest
  • Mobitest
  • Google Analytics
  • Navigation Timing API1: navigationStart 11: secureConnectionStart2: unloadEventStart 12: requestStart3: unloadEventEnd 13: responseStart4: redirectStart 14: responseEnd5: redirectEnd 15: domLoading6: fetchStart 16: domInteractive7: domainLookupStart 17: domContentLoadedEventStart8: domainLookupEnd 18: domContentLoadedEventEnd9: connectStart 19: domComplete10: connectEnd 20: loadEventStart 21: loadEventEnd
  • WebPagetest / Mobitest / GA- 無料でありながら高機能- ウォーターフォールチャートの確認- ユーザーに近い読み込み時間の確認
  • III. デベロッパーツール系
  • Developer Tool
  • Firebug
  • Developer Tool / Firebug- より詳細な分析に利用- Try&Errorの繰り返しに便利- 要:結果から改善策を読み取る力
  • IV. スポット計測系
  • jsPerf
  • CSS Stress Test
  • jsPerf / CSS Stress Test- 最初から使わない(考えない)- サイト制作に合わせて利用
  • Measuring Social Interaction with Google Analytics
  • Social Action
  • Cost: 0.8~1.0secSocial Action: 0.01~0.2%
  • Remove JavaScript Files
  • -1000ms
  • 計測 - 分析 - 最適化
  • IV. まとめとこれからのこと Conclusion
  • Network > > CPU >
  • 今後10年間でインターネットの帯域幅速度は57倍になると思われているが、コンピューターの処理能力は100倍以上になるだろう。 モバイルサイト vs. アプリ: 来るべき戦略の転換 – U-Site
  • Minimize HTTP Requests! Requests 30 vs 1 (CSS Sprite)
  • Shut the f**k up and write some code.
  • Shut the f**k up andreduce some HTTP request.
  • Thank you!
  • Photo Credit- http://www.flickr.com/photos/hamed/1552383685/- http://www.flickr.com/photos/bradhoc/7343762168/- http://www.flickr.com/photos/chaparralbrad/2414205811/- http://www.flickr.com/photos/sonictk/371595048/