Your SlideShare is downloading. ×
0
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Please Don't Touch the Slow Parts
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Please Don't Touch the Slow Parts

6,180

Published on

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

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

No Downloads
Views
Total Views
6,180
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
83
Comments
0
Likes
25
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

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

×