Caching for Cash, part 4 DPC 2009

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Notes on slide 1

    The user’s perception is more relevant than actual unload-to-onload response time. Definition of "user onload" is undefined or varies from one web page to the next.

    User needs to download all components Coming for the first time Force refresh of the site Browser automagically cleared the cache based on settings

    User needs to download all components Coming for the first time Force refresh of the site Browser automagically cleared the cache based on settings

    Yahoo ran the experiment. Ran against an empty page

    Older IE: 6 overall, 2 per host Older FF had 24 as overall and 8 per host Newer FF: 30 overall, 15 per host

    Many host names = more DNS lookups, adds delay Consider the effects of CPU thrashing for the client Lookup times vary across ISPs and geographic locations

    dynamically combine and cache Combine and minimize before a release

    Don't use HTMTL attributes to scale Favicon – keep it around, keep it small

    Hash like tag to compare browser cache against the server version Only download if hash has changed Gives more flexibility than last-modified date Great on a single server setup

    Typically unique to a server Default behavior in Apache and IIS If hash don't match between server, then browser cache is not used Proper Expires Headers won't help Remove ETags if not being used to its fullest

    Favorites, Groups & Events

    Caching for Cash, part 4 DPC 2009 - Presentation Transcript

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

    + Helgi Þormar ÞorbjörnssonHelgi Þormar Þorbjörnsson, 4 months ago

    custom

    409 views, 0 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 409
      • 409 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 5
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories