Please Don't Touch the Slow Parts

10,666 views

Published on

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

Published in: Technology
0 Comments
26 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
10,666
On SlideShare
0
From Embeds
0
Number of Embeds
1,950
Actions
Shares
0
Downloads
87
Comments
0
Likes
26
Embeds 0
No embeds

No notes for slide

Please Don't Touch the Slow Parts

  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

×