Please Don't Touch the Slow Parts
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Please Don't Touch the Slow Parts

on

  • 7,537 views

Talk i gave at Better Software on May 5th 2010, together with Fullo of Ideato. ...

Talk i gave at Better Software on May 5th 2010, together with Fullo of Ideato.

It's about improving web applications speed. Based on Steve Souders work.

I'll be giving a newer version of the talk at PHP Day 2010

Also
http://www.ideato.it/
http://federico.galassi.net/
http://www.stevesouders.com/

http://www.bettersoftware.it/
http://www.phpday.it/

Follow me on Twitter
https://twitter.com/federicogalassi

Statistics

Views

Total Views
7,537
Views on SlideShare
5,578
Embed Views
1,959

Actions

Likes
25
Downloads
81
Comments
0

19 Embeds 1,959

http://www.fullo.net 1649
http://www.slideshare.net 124
http://gengrenjie.com 108
http://vkanakaraj.wordpress.com 40
http://federico.galassi.net 9
http://lanyrd.com 5
http://feeds.feedburner.com 5
http://mentine.mentine.net 4
http://static.slidesharecdn.com 3
http://www.bonweb.fr 2
http://www.linkedin.com 2
https://vkanakaraj.wordpress.com 1
http://cache.baidu.com 1
http://207.46.192.232 1
http://admin.totalmarketing.com 1
http://bibliotecaunivdelasalle.blogspot.com 1
http://www.totanus.net 1
http://feedproxy.google.com 1
http://www.jitulove87.blogspot.com 1
More...

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

Please Don't Touch the Slow Parts Presentation Transcript

  • 1. Please Don’t Touch the Slow Parts francesco.fullone@ideato.it http://www.ideato.it/ federico.galassi@gmail.com http://federico.galassi.net/ Saturday, May 8, 2010
  • 2. Saturday, May 8, 2010
  • 3. fast er Saturday, May 8, 2010
  • 4. fast er WEB Saturday, May 8, 2010
  • 5. Faster == Better? Saturday, May 8, 2010
  • 6. We have to wait Saturday, May 8, 2010
  • 7. ... All the time Saturday, May 8, 2010
  • 8. “Savings in time feels like simplicity” Saturday, May 8, 2010
  • 9. “Time is the only commodity that matters” Saturday, May 8, 2010
  • 10. Faster web, more clicks http://www.stevesouders.com/blog/2009/07/27/wikia-fast-pages-retain-users/ Saturday, May 8, 2010
  • 11. Faster web, better SEO http://googlewebmastercentral.blogspot.com/2010/04/using-site-speed-in-web-search-ranking.html Saturday, May 8, 2010
  • 12. Faster web is hot Saturday, May 8, 2010
  • 13. Say web, Say browser Saturday, May 8, 2010
  • 14. How browsers work Saturday, May 8, 2010
  • 15. User clicks on a link Saturday, May 8, 2010
  • 16. Browser resolves domain name DNS UDP www.google.com 72.14.234.104 domain Saturday, May 8, 2010
  • 17. Browser connects to web server WEB TCP/IP 72.14.234.104 domain connect Saturday, May 8, 2010
  • 18. Browser sends a request for a page WEB HTTP GET /language_tools?hl=en Host: www.google.com domain connect send Saturday, May 8, 2010
  • 19. Browser receives a response with the page WEB HTTP 200 OK domain connect send receive Saturday, May 8, 2010
  • 20. Browser renders the new page domain connect send receive render Saturday, May 8, 2010
  • 21. Rendering is complex parse + paint render Saturday, May 8, 2010
  • 22. Rendering really complex parse + paint + resources render css css img img javascript javascript flash Saturday, May 8, 2010
  • 23. Each resource is another web request render Saturday, May 8, 2010
  • 24. Requests are processed in parallel render Saturday, May 8, 2010
  • 25. Once upon a time... Static pages Few resources Less javascript Saturday, May 8, 2010
  • 26. Most time on server domain connect send receive render Saturday, May 8, 2010
  • 27. Solution is faster serverside domain connect send receive render Saturday, May 8, 2010
  • 28. Ajax revolution Saturday, May 8, 2010
  • 29. Most time on browser domain connect send receive render Saturday, May 8, 2010
  • 30. Golden rule of faster web 80% of the end user response time is spent on the front-end Saturday, May 8, 2010
  • 31. Golden rule of faster web Start there. Saturday, May 8, 2010
  • 32. Why web slow parts? Saturday, May 8, 2010
  • 33. Easy to understand Saturday, May 8, 2010
  • 34. Each part has its rules Saturday, May 8, 2010
  • 35. Which parts are slow? Saturday, May 8, 2010
  • 36. Network is slow Saturday, May 8, 2010
  • 37. Less stuff Fewer requests Pages have too many resources Concatenate js/css Css sprites Less dns requests Saturday, May 8, 2010
  • 38. Less stuff Cache requests Browser download resources repeatedly Expires header Revving Files External js/css Remove etags Saturday, May 8, 2010
  • 39. Smaller stuff Compress responses Resources are too big Content-Encoding Gzip Deflate Saturday, May 8, 2010
  • 40. Smaller stuff Minify responses Resources are too big js, css, html remove formatting remove comments use tools Saturday, May 8, 2010
  • 41. Closer stuff Use a CDN Resources are too far reduce latency Saturday, May 8, 2010
  • 42. Browser is slow Saturday, May 8, 2010
  • 43. Scripts block loading html document.write javascript location.href css scripts order img javascript img flash Saturday, May 8, 2010
  • 44. Put scripts at bottom html css img img flash javascript javascript Saturday, May 8, 2010
  • 45. Unloaded styles block page rendering html img img flash css Saturday, May 8, 2010
  • 46. Put styles at top html css img img flash Saturday, May 8, 2010
  • 47. Scripts and styles side effects dom reflows css expression reflows Saturday, May 8, 2010
  • 48. All that glitters is not gold Saturday, May 8, 2010
  • 49. Everything is a tradeoff Saturday, May 8, 2010
  • 50. performance brings complexity Saturday, May 8, 2010
  • 51. know the rules but... Saturday, May 8, 2010
  • 52. leave complexity to computers Saturday, May 8, 2010
  • 53. use libraries during development Saturday, May 8, 2010
  • 54. Use tools at build time Saturday, May 8, 2010
  • 55. http://abetterbrowser.org/ Saturday, May 8, 2010
  • 56. Questions? Saturday, May 8, 2010