Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Caching for Cash, part 4 DPC 2009

1,180 views

Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

Caching for Cash, part 4 DPC 2009

  1. 1. Caching For Cash Dutch PHP Conference – Amsterdam, June 2009
  2. 7. 80% of response time is spent downloading content
  3. 10. “ It all depends on how we look at things, and not how they are in themselves.” - Carl G. Jung
  4. 13. Key factor in performance Fewer HTTP Requests Easy to improve on
  5. 14. Sent with static content Slow upstream speed Big cookies
  6. 15. Cookie Size Response Time (Delta) 0 bytes 78 ms ( 0 ms ) 500 bytes 79 ms ( +1 ms ) 1000 bytes 94 ms ( +16 ms ) 1500 bytes 109 ms ( +31 ms ) 2000 bytes 125 ms ( +47 ms ) 2500 bytes 141 ms ( +63 ms ) 3000 bytes 156 ms ( +78 ms ) Times are for page loads on DSL (~800 kbps).
  7. 16. Eliminate unnecessary cookies Keep sizes low Appropriate domain levels Set Expires date appropriately
  8. 17. Be aware of max connection limits in browsers CNAME to point multiple sub domains to the same IP
  9. 18. One domain = 2 Parallel connections
  10. 19. Two domains = 4 Parallel connections
  11. 20. Too many hostnames can cause complications 2 – 4 sub domains is a good average
  12. 21. Combining 6 scripts into 1 eliminates 5 requests Challenges: <ul><ul><li>develop as separate modules
  13. 22. combinations vs. loading more than needed </li></ul></ul>
  14. 23. JS does not comply with the parallel downloading rule
  15. 24. script defer attribute is not a solution <ul><ul><li>blocks rendering and downloads in FF
  16. 25. slight blocking in IE </li></ul></ul>Solution: move them as low in the page as possible
  17. 26. Crushes the files Strips out all cruft Voodoo magic
  18. 27. JSMin Dojo Shrinksafe Packer YUI Compressor http://short.ie/compression-rates
  19. 28. You can affect users download times
  20. 29. <ul>Gzip can be used on </ul><ul><ul><li>JS
  21. 30. CSS
  22. 31. XML
  23. 32. JSON </li></ul></ul>
  24. 33. <ul>Gzip should not be used on </ul><ul><ul><li>Images
  25. 34. PDFs
  26. 35. Compressed data formats </li></ul></ul>
  27. 36. robots.txt favicon
  28. 37. CSS Sprites
  29. 38. Badly optimized Thumbnails PNG can be compacted 50%, no quality loss OptiPNG
  30. 39. Test on slow connections Slow proxies for developers
  31. 40. Data served through a single domain Smart routing software Data closer to the end user – Less latency
  32. 41. Amazon CloudFront
  33. 42. Appropriate dates Cache far in the future Change file names on releases
  34. 43. Hash tag to compare between browser and server Gives more flexibility than last-modified-date Great on a single server setup
  35. 44. Typically unique to a server Disable if not being used!
  36. 45. Use options that are not unique per server
  37. 46. Firebug Firecookie Yslow Page Speed Hammerhead http://stevesouders.com/hammerhead/ http://code.google.com/speed/page-speed
  38. 47. “ Knowledge rests not upon truth alone, but upon error also.” - Carl G. Jung

×