SlideShare a Scribd company logo
1 of 141
Download to read offline
Frontend Caching


                               Helgi Þormar Þorbjörnsson
                           PhpDay, Italy, Verona, 14th May 2011

Saturday, 14 May 2011
Who am I?




Saturday, 14 May 2011
Who am I?

                        VP of Engineering at Orchestra.io




Saturday, 14 May 2011
Who am I?

                        VP of Engineering at Orchestra.io
                        Developer at PEAR




Saturday, 14 May 2011
Who am I?

                        VP of Engineering at Orchestra.io
                        Developer at PEAR
                        From Iceland




Saturday, 14 May 2011
Who am I?

                        VP of Engineering at Orchestra.io
                        Developer at PEAR
                        From Iceland
                        @h on Twitter



Saturday, 14 May 2011
Pareto Principle


                            20%   80%




Saturday, 14 May 2011
80 / 20 Rule


                  20%         80%
  20% of the population receives 80% of the income




Saturday, 14 May 2011
80 / 20 Rule


                            20%       80%
                20% of causes produce 80% of the effects




Saturday, 14 May 2011
80% of response time is
                        spent downloading resources




Saturday, 14 May 2011
4 Rules of Web
                         Performance


Saturday, 14 May 2011
Weight
                          Time
                        Processing
                        Perception

Saturday, 14 May 2011
Perception



Saturday, 14 May 2011
Make people think your site is fast




Saturday, 14 May 2011
When people can interact with the site




Saturday, 14 May 2011
Saturday, 14 May 2011
“It all depends on how we
                        look at things, and not how
                          they are in themselves.”
                                      - Carl G. Jung




Saturday, 14 May 2011
Perception


                        50% of users arrive
                             on an empty cache




Saturday, 14 May 2011
Perception

                         Empty Cache                    Full Cache
                        28.0K    1 HTML Document

                         1.9K    1 Style Sheet File

                        59.5K    4 Javascript Files   28.0K   1 HTML Document
                        78.7K    24 Images            0.1K    2 Images
                        168.1K   Total Size           28.1K   Total Size
                         30      HTTP Requests         3      HTTP Requests
                         2.4s    Response Time        0.9s    Response Time




Saturday, 14 May 2011
Weight



Saturday, 14 May 2011
HTTP Requests




Saturday, 14 May 2011
HTTP Requests

                         Less is more




Saturday, 14 May 2011
HTTP Requests

                         Less is more
                         Fewer HTTP Requests




Saturday, 14 May 2011
HTTP Requests

                         Less is more
                         Fewer HTTP Requests
                         Easy to improve on




Saturday, 14 May 2011
Cookies




Saturday, 14 May 2011
Cookies

                        Sent with static content




Saturday, 14 May 2011
Cookies

                        Sent with static content
                          Slow upstream speed




Saturday, 14 May 2011
Cookies

                        Sent with static content
                          Slow upstream speed
                                    Big cookies




Saturday, 14 May 2011
Experiment Time!
                                    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)




Saturday, 14 May 2011
Experiment Time!
                                    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)




Saturday, 14 May 2011
Experiment Time!
                                    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)




Saturday, 14 May 2011
Cookies




Saturday, 14 May 2011
Cookies




Saturday, 14 May 2011
Cookies
                        Remove unnecessary cookies




Saturday, 14 May 2011
Cookies
                        Remove unnecessary cookies
                        Appropriate domain level




Saturday, 14 May 2011
Cookies
                        Remove unnecessary cookies
                        Appropriate domain level
                        Keep size low




Saturday, 14 May 2011
Cookies
                        Remove unnecessary cookies
                        Appropriate domain level
                        Keep size low
                        Set Expires




Saturday, 14 May 2011
Parallel Downloads




Saturday, 14 May 2011
Parallel Downloads

                        Be aware of max connection limits




Saturday, 14 May 2011
Parallel Downloads

                          Be aware of max connection limits

                 CNAME to point multiple sub domains to the same IP




Saturday, 14 May 2011
Parallel Downloads

                          Be aware of max connection limits

                 CNAME to point multiple sub domains to the same IP




Saturday, 14 May 2011
Parallel Downloads




                        Borrowed from BrowserScope.org

Saturday, 14 May 2011
Parallel Downloads




                        Borrowed from BrowserScope.org

Saturday, 14 May 2011
Parallel Downloads


                        One domain = 2 Parallel connections




Saturday, 14 May 2011
Parallel Downloads
                        One domain = 2 Parallel connections

                         HTML
                         Image
                         Image
                         Image
                         Image
                         Image
                         Image
                         Image
                         Image

                                 0.4   0.8   1.2   1.6   2   2.4   Secs



Saturday, 14 May 2011
Parallel Downloads
                        Two domains = 4 Parallel connections

                          HTML
                         Image
                         Image
                         Image
                         Image
                         Image
                         Image
                         Image
                         Image

                                 0.4   0.8   1.2   1.6   2   2.4   Secs



Saturday, 14 May 2011
Parallel Downloads

                        Too many hostnames can cause complications




Saturday, 14 May 2011
Parallel Downloads

                        Too many hostnames can cause complications



                          2 – 4 sub domains is a good average




Saturday, 14 May 2011
Combine Files

                  Combining 6 scripts into 1 eliminates 5 requests




Saturday, 14 May 2011
Combine Files

                  Combining 6 scripts into 1 eliminates 5 requests

                        Challenges:
                          develop as separate modules
                          combinations vs. loading more than needed




Saturday, 14 May 2011
Javascript


                         Doesn’t comply with
                        parallel download rules




Saturday, 14 May 2011
Javascript
                               Doesn’t comply with
                              parallel download rules
                        HTML
                         JS
                        Image
                        Image
                        Image
                        Image
                        Image
                        Image
                        Image

                                0.4   0.8   1.2   1.6   2   2.4   Secs


Saturday, 14 May 2011
Javascript
                        script defer attribute is not a solution




Saturday, 14 May 2011
Javascript
                        script defer attribute is not a solution

                        Solution - move them as low in the
                                          page as possible




Saturday, 14 May 2011
Processing



Saturday, 14 May 2011
Processing




Saturday, 14 May 2011
Processing

                        Fake the delivery




Saturday, 14 May 2011
Processing

                        Fake the delivery
                        Lazy Loading




Saturday, 14 May 2011
Processing

                        Fake the delivery
                        Lazy Loading
                        Above the fold Loading




Saturday, 14 May 2011
Processing

                        Fake the delivery
                        Lazy Loading
                        Above the fold Loading
                        Delay Javascript Loading



Saturday, 14 May 2011
Processing




Saturday, 14 May 2011
Processing
                        Bonus - async attribute




Saturday, 14 May 2011
Processing
                        Bonus - async attribute


              http://www.appelsiini.net/projects/lazyload




Saturday, 14 May 2011
JS Minification




Saturday, 14 May 2011
JS Minification

                            Crushes the file
                           Strips out all cruft
                            Voodoo Magic!




Saturday, 14 May 2011
JS Minfication

                         UglifyJS
                         Google Closure
                         YUI Compressor




Saturday, 14 May 2011
JS Minfication

                           UglifyJS
                           Google Closure
                           YUI Compressor



                        http://bit.ly/compression-rates
Saturday, 14 May 2011
CSS Minification

                           YUI Compressor
                           minifycss.com
                           OOCSS




Saturday, 14 May 2011
GZip
                        GZip can be used on




Saturday, 14 May 2011
GZip
                        GZip can be used on
                            JS




Saturday, 14 May 2011
GZip
                        GZip can be used on
                            JS
                            CSS




Saturday, 14 May 2011
GZip
                        GZip can be used on
                            JS
                            CSS
                            XML




Saturday, 14 May 2011
GZip
                        GZip can be used on
                            JS
                            CSS
                            XML
                            JSON




Saturday, 14 May 2011
GZip
                        GZip should not be used on




Saturday, 14 May 2011
GZip
                        GZip should not be used on

                            Images




Saturday, 14 May 2011
GZip
                        GZip should not be used on

                            Images
                            Document formats




Saturday, 14 May 2011
GZip
                        GZip should not be used on

                            Images
                            Document formats
                            Already compressed




Saturday, 14 May 2011
404


                        robots.txt
                         favicon




Saturday, 14 May 2011
Images




Saturday, 14 May 2011
Images

                         favicon




Saturday, 14 May 2011
Images

                         favicon
                        CSS Sprites




Saturday, 14 May 2011
Images

                         favicon
                        CSS Sprites




Saturday, 14 May 2011
Images




Saturday, 14 May 2011
Images

                        Badly optimised




Saturday, 14 May 2011
Images

                        Badly optimised
                        Thumbnails




Saturday, 14 May 2011
Images

                        Badly optimised
                        Thumbnails
                        PNGs compressed up to 50%




Saturday, 14 May 2011
PNG Optimise

                            OptiPNG
                            pngwolf
                            pngcrush
                            jpegtran



Saturday, 14 May 2011
Time



Saturday, 14 May 2011
SSL




Saturday, 14 May 2011
SSL

                        Extra roundtrips




Saturday, 14 May 2011
SSL

                        Extra roundtrips
                        More resources for servers




Saturday, 14 May 2011
SSL

                        Extra roundtrips
                        More resources for servers
                        Worth it, tho!




Saturday, 14 May 2011
Tread the users’ path




Saturday, 14 May 2011
Tread the users’ path


                        Test on slower connections




Saturday, 14 May 2011
Tread the users’ path


                        Test on slower connections
                        Slow proxies




Saturday, 14 May 2011
Tread the users’ path




Saturday, 14 May 2011
Tread the users’ path

                        Tables / Phones




Saturday, 14 May 2011
Tread the users’ path

                        Tables / Phones
                        Airline connections




Saturday, 14 May 2011
Tread the users’ path

                        Tables / Phones
                        Airline connections
                        Public places




Saturday, 14 May 2011
CDN




Saturday, 14 May 2011
CDN

                        Single domain




Saturday, 14 May 2011
CDN

                        Single domain
                        Smart routing




Saturday, 14 May 2011
CDN

                        Single domain
                        Smart routing
                        Data is closer to end user




Saturday, 14 May 2011
CDN




Saturday, 14 May 2011
CDN




Saturday, 14 May 2011
CDN on a Budget




Saturday, 14 May 2011
CDN on a Budget


                             S3

Saturday, 14 May 2011
Query vs. Filename
                      revisions




Saturday, 14 May 2011
Query vs. Filename
                      revisions

                        Cache far in future




Saturday, 14 May 2011
Query vs. Filename
                      revisions

                        Cache far in future
                        Revisioning forces downloads




Saturday, 14 May 2011
Query vs. Filename
                      revisions

                        Cache far in future
                        Revisioning forces downloads




Saturday, 14 May 2011
Query revisions




Saturday, 14 May 2011
Query revisions

                        Easy and convenient




Saturday, 14 May 2011
Query revisions

                        Easy and convenient
                        Usually not recommended




Saturday, 14 May 2011
Query revisions

                        Easy and convenient
                        Usually not recommended
                        Bad proxies are a problem




Saturday, 14 May 2011
Filename revisions




Saturday, 14 May 2011
Filename revisions

                        Requires more work




Saturday, 14 May 2011
Filename revisions

                        Requires more work
                        Recommended




Saturday, 14 May 2011
Filename revisions

                        Requires more work
                        Recommended
                        During build, using md5 hash




Saturday, 14 May 2011
Compromise




Saturday, 14 May 2011
Compromise
                        Create a version function




Saturday, 14 May 2011
Compromise
                        Create a version function
                        Put on all resources




Saturday, 14 May 2011
Compromise
                        Create a version function
                        Put on all resources
                        mod_rewrite magic




Saturday, 14 May 2011
Compromise
                        Create a version function
                        Put on all resources
                        mod_rewrite magic



                        http://bit.ly/query_rev_comp
Saturday, 14 May 2011
Browser Tools




Saturday, 14 May 2011
Browser Tools

                         Firebug




Saturday, 14 May 2011
Browser Tools

                         Firebug
                         YSlow




Saturday, 14 May 2011
Browser Tools

                         Firebug
                         YSlow
                         PageSpeed




Saturday, 14 May 2011
Browser Tools

                         Firebug
                         YSlow
                         PageSpeed
                         Chrome Inspector



Saturday, 14 May 2011
Other Tools




Saturday, 14 May 2011
Other Tools

                        HTTPWatch.com




Saturday, 14 May 2011
Other Tools

                        HTTPWatch.com
                        WebPageTest.org




Saturday, 14 May 2011
Other Tools

                        HTTPWatch.com
                        WebPageTest.org
                        HTTPArchive.org




Saturday, 14 May 2011
Other Tools

                        HTTPWatch.com
                        WebPageTest.org
                        HTTPArchive.org
                        Yottaa.com


Saturday, 14 May 2011
Other Tools




Saturday, 14 May 2011
Other Tools

                        WonderProxy.com




Saturday, 14 May 2011
Other Tools

                        WonderProxy.com
                        pagespeed.googlelabs.com




Saturday, 14 May 2011
Other Tools

                        WonderProxy.com
                        pagespeed.googlelabs.com
                        BrowserScope.com




Saturday, 14 May 2011
Other Tools

                        WonderProxy.com
                        pagespeed.googlelabs.com
                        BrowserScope.com
                        html5boilerplate.com


Saturday, 14 May 2011
“Knowledge rests not upon truth
                          alone, but upon error also”
                                          - Carl G. Jung




Saturday, 14 May 2011
Questions?

                            helgi@orchestra.io
                               Twitter: @h




                        Joind.in: http://joind.in/2987
Saturday, 14 May 2011

More Related Content

What's hot

Envato Dev Ops - Alt.Net Melbourne
Envato Dev Ops - Alt.Net MelbourneEnvato Dev Ops - Alt.Net Melbourne
Envato Dev Ops - Alt.Net MelbourneJohn Barton
 
Muscling up your e-reputation
Muscling up your e-reputationMuscling up your e-reputation
Muscling up your e-reputationMinter Dial
 
The Digital Toolbox - a discussion -Science Online '11
The Digital Toolbox - a discussion -Science Online '11The Digital Toolbox - a discussion -Science Online '11
The Digital Toolbox - a discussion -Science Online '11Kaitlin Thaney
 
"Data in the Digital Age" - Hadoop Big Data Meetup
"Data in the Digital Age" - Hadoop Big Data Meetup"Data in the Digital Age" - Hadoop Big Data Meetup
"Data in the Digital Age" - Hadoop Big Data MeetupKaitlin Thaney
 
Brandfuel24 presentatie vincent everts sept2011©
Brandfuel24 presentatie vincent everts sept2011©Brandfuel24 presentatie vincent everts sept2011©
Brandfuel24 presentatie vincent everts sept2011©Vincent Everts
 
Presentation Orange ftgroup the future of mobile
Presentation Orange ftgroup the future of mobilePresentation Orange ftgroup the future of mobile
Presentation Orange ftgroup the future of mobileVincent Everts
 
Deloit the next step in corporate IT
Deloit the next step in corporate ITDeloit the next step in corporate IT
Deloit the next step in corporate ITVincent Everts
 
Zanox zxexperday presentation
Zanox zxexperday presentationZanox zxexperday presentation
Zanox zxexperday presentationVincent Everts
 
Ole marius smestad - REST & PHP API : how to turn eZ Publish into a multi-cha...
Ole marius smestad - REST & PHP API : how to turn eZ Publish into a multi-cha...Ole marius smestad - REST & PHP API : how to turn eZ Publish into a multi-cha...
Ole marius smestad - REST & PHP API : how to turn eZ Publish into a multi-cha...eZ Publish Community
 
How to Use Web Analytics to Drive Your Digital Strategy Forward
How to Use Web Analytics to Drive Your Digital Strategy ForwardHow to Use Web Analytics to Drive Your Digital Strategy Forward
How to Use Web Analytics to Drive Your Digital Strategy Forwardasbpe
 
Gunter Pauli
Gunter PauliGunter Pauli
Gunter PauliSym City
 
Developing a Language
Developing a LanguageDeveloping a Language
Developing a Languageevanphx
 

What's hot (14)

Envato Dev Ops - Alt.Net Melbourne
Envato Dev Ops - Alt.Net MelbourneEnvato Dev Ops - Alt.Net Melbourne
Envato Dev Ops - Alt.Net Melbourne
 
Muscling up your e-reputation
Muscling up your e-reputationMuscling up your e-reputation
Muscling up your e-reputation
 
The Digital Toolbox - a discussion -Science Online '11
The Digital Toolbox - a discussion -Science Online '11The Digital Toolbox - a discussion -Science Online '11
The Digital Toolbox - a discussion -Science Online '11
 
"Data in the Digital Age" - Hadoop Big Data Meetup
"Data in the Digital Age" - Hadoop Big Data Meetup"Data in the Digital Age" - Hadoop Big Data Meetup
"Data in the Digital Age" - Hadoop Big Data Meetup
 
CSS
CSSCSS
CSS
 
Brandfuel24 presentatie vincent everts sept2011©
Brandfuel24 presentatie vincent everts sept2011©Brandfuel24 presentatie vincent everts sept2011©
Brandfuel24 presentatie vincent everts sept2011©
 
Presentation Orange ftgroup the future of mobile
Presentation Orange ftgroup the future of mobilePresentation Orange ftgroup the future of mobile
Presentation Orange ftgroup the future of mobile
 
Deloit the next step in corporate IT
Deloit the next step in corporate ITDeloit the next step in corporate IT
Deloit the next step in corporate IT
 
Zanox zxexperday presentation
Zanox zxexperday presentationZanox zxexperday presentation
Zanox zxexperday presentation
 
Ole marius smestad - REST & PHP API : how to turn eZ Publish into a multi-cha...
Ole marius smestad - REST & PHP API : how to turn eZ Publish into a multi-cha...Ole marius smestad - REST & PHP API : how to turn eZ Publish into a multi-cha...
Ole marius smestad - REST & PHP API : how to turn eZ Publish into a multi-cha...
 
How to Use Web Analytics to Drive Your Digital Strategy Forward
How to Use Web Analytics to Drive Your Digital Strategy ForwardHow to Use Web Analytics to Drive Your Digital Strategy Forward
How to Use Web Analytics to Drive Your Digital Strategy Forward
 
Gunter Pauli
Gunter PauliGunter Pauli
Gunter Pauli
 
Developing a Language
Developing a LanguageDeveloping a Language
Developing a Language
 
ACTIVE møder VIBE
ACTIVE møder VIBEACTIVE møder VIBE
ACTIVE møder VIBE
 

Viewers also liked

PHP Day 2011 PHP goes to the cloud
PHP Day 2011 PHP goes to the cloudPHP Day 2011 PHP goes to the cloud
PHP Day 2011 PHP goes to the cloudpietrobr
 
Integrating Erlang with PHP
Integrating Erlang with PHPIntegrating Erlang with PHP
Integrating Erlang with PHPAlvaro Videla
 
Priority based K-Erlang Distribution Method in Cloud Computing
Priority based K-Erlang Distribution Method in Cloud ComputingPriority based K-Erlang Distribution Method in Cloud Computing
Priority based K-Erlang Distribution Method in Cloud Computingidescitation
 
Localisation typo3
Localisation typo3Localisation typo3
Localisation typo3Daniel
 

Viewers also liked (6)

symfony & jQuery (phpDay)
symfony & jQuery (phpDay)symfony & jQuery (phpDay)
symfony & jQuery (phpDay)
 
PHP Day 2011 PHP goes to the cloud
PHP Day 2011 PHP goes to the cloudPHP Day 2011 PHP goes to the cloud
PHP Day 2011 PHP goes to the cloud
 
Integrating Erlang with PHP
Integrating Erlang with PHPIntegrating Erlang with PHP
Integrating Erlang with PHP
 
Priority based K-Erlang Distribution Method in Cloud Computing
Priority based K-Erlang Distribution Method in Cloud ComputingPriority based K-Erlang Distribution Method in Cloud Computing
Priority based K-Erlang Distribution Method in Cloud Computing
 
Localisation typo3
Localisation typo3Localisation typo3
Localisation typo3
 
An year of Pomodoros
An year of PomodorosAn year of Pomodoros
An year of Pomodoros
 

Similar to Frontend caching - PHP Day, Italy, 2011

Introduction to JavaScriptMVC
Introduction to JavaScriptMVCIntroduction to JavaScriptMVC
Introduction to JavaScriptMVCPedro Pimentel
 
Desenvolvimento Indolor com JQuery Mobile
Desenvolvimento Indolor com JQuery MobileDesenvolvimento Indolor com JQuery Mobile
Desenvolvimento Indolor com JQuery MobileBruno Oliveira
 
Digitalwindow keynote london #inspire2011
Digitalwindow keynote london #inspire2011Digitalwindow keynote london #inspire2011
Digitalwindow keynote london #inspire2011Vincent Everts
 
The Ethics of Abandoning Software
The Ethics of Abandoning SoftwareThe Ethics of Abandoning Software
The Ethics of Abandoning Softwaremojodna
 
Software on the High Seas
Software on the High SeasSoftware on the High Seas
Software on the High SeasSoren Harner
 
Koss, How to make desktop caliber browser apps
Koss, How to make desktop caliber browser appsKoss, How to make desktop caliber browser apps
Koss, How to make desktop caliber browser appsEvil Martians
 
Inspiratiemiddag_Vincent_Everts_Finalist generatie_einstein_komt_eraan_07042011
Inspiratiemiddag_Vincent_Everts_Finalist generatie_einstein_komt_eraan_07042011Inspiratiemiddag_Vincent_Everts_Finalist generatie_einstein_komt_eraan_07042011
Inspiratiemiddag_Vincent_Everts_Finalist generatie_einstein_komt_eraan_07042011Finalist - open IT oplossingen
 
Milkyway@home rcos presentation_4_8_2011
Milkyway@home rcos presentation_4_8_2011Milkyway@home rcos presentation_4_8_2011
Milkyway@home rcos presentation_4_8_2011mskmoorthy
 
How to speed-code a success story
How to speed-code a success storyHow to speed-code a success story
How to speed-code a success story6Wunderkinder
 

Similar to Frontend caching - PHP Day, Italy, 2011 (14)

Frontend Caching, PHPTek 2011, Chicago
Frontend Caching, PHPTek 2011, ChicagoFrontend Caching, PHPTek 2011, Chicago
Frontend Caching, PHPTek 2011, Chicago
 
MILOFest 2010
MILOFest 2010MILOFest 2010
MILOFest 2010
 
Introduction to JavaScriptMVC
Introduction to JavaScriptMVCIntroduction to JavaScriptMVC
Introduction to JavaScriptMVC
 
Desenvolvimento Indolor com JQuery Mobile
Desenvolvimento Indolor com JQuery MobileDesenvolvimento Indolor com JQuery Mobile
Desenvolvimento Indolor com JQuery Mobile
 
What's Cooking in Xtext 2.0
What's Cooking in Xtext 2.0What's Cooking in Xtext 2.0
What's Cooking in Xtext 2.0
 
Digitalwindow keynote london #inspire2011
Digitalwindow keynote london #inspire2011Digitalwindow keynote london #inspire2011
Digitalwindow keynote london #inspire2011
 
The Ethics of Abandoning Software
The Ethics of Abandoning SoftwareThe Ethics of Abandoning Software
The Ethics of Abandoning Software
 
Software on the High Seas
Software on the High SeasSoftware on the High Seas
Software on the High Seas
 
Koss, How to make desktop caliber browser apps
Koss, How to make desktop caliber browser appsKoss, How to make desktop caliber browser apps
Koss, How to make desktop caliber browser apps
 
Inspiratiemiddag_Vincent_Everts_Finalist generatie_einstein_komt_eraan_07042011
Inspiratiemiddag_Vincent_Everts_Finalist generatie_einstein_komt_eraan_07042011Inspiratiemiddag_Vincent_Everts_Finalist generatie_einstein_komt_eraan_07042011
Inspiratiemiddag_Vincent_Everts_Finalist generatie_einstein_komt_eraan_07042011
 
Sera que?
Sera que?Sera que?
Sera que?
 
Frontend caching
Frontend cachingFrontend caching
Frontend caching
 
Milkyway@home rcos presentation_4_8_2011
Milkyway@home rcos presentation_4_8_2011Milkyway@home rcos presentation_4_8_2011
Milkyway@home rcos presentation_4_8_2011
 
How to speed-code a success story
How to speed-code a success storyHow to speed-code a success story
How to speed-code a success story
 

More from Helgi Þormar Þorbjörnsson

Scale like an ant, distribute the workload - DPC, Amsterdam, 2011
Scale like an ant, distribute the workload - DPC, Amsterdam,  2011Scale like an ant, distribute the workload - DPC, Amsterdam,  2011
Scale like an ant, distribute the workload - DPC, Amsterdam, 2011Helgi Þormar Þorbjörnsson
 
Plant Pyrus in your system - A guide to a plugin system.
Plant Pyrus in your system - A guide to a plugin system.Plant Pyrus in your system - A guide to a plugin system.
Plant Pyrus in your system - A guide to a plugin system.Helgi Þormar Þorbjörnsson
 
Website releases made easy with the PEAR installer, OSCON 2009
Website releases made easy with the PEAR installer, OSCON 2009Website releases made easy with the PEAR installer, OSCON 2009
Website releases made easy with the PEAR installer, OSCON 2009Helgi Þormar Þorbjörnsson
 
Website releases made easy with the PEAR installer - Barcelona 2008
Website releases made easy with the PEAR installer - Barcelona 2008Website releases made easy with the PEAR installer - Barcelona 2008
Website releases made easy with the PEAR installer - Barcelona 2008Helgi Þormar Þorbjörnsson
 

More from Helgi Þormar Þorbjörnsson (14)

Phar, The PHP .exe Format
Phar, The PHP .exe FormatPhar, The PHP .exe Format
Phar, The PHP .exe Format
 
Distribute the workload, PHP Barcelona 2011
Distribute the workload, PHP Barcelona 2011Distribute the workload, PHP Barcelona 2011
Distribute the workload, PHP Barcelona 2011
 
Distribute the workload, PHPTek, Amsterdam, 2011
Distribute the workload, PHPTek, Amsterdam, 2011Distribute the workload, PHPTek, Amsterdam, 2011
Distribute the workload, PHPTek, Amsterdam, 2011
 
Scale like an ant, distribute the workload - DPC, Amsterdam, 2011
Scale like an ant, distribute the workload - DPC, Amsterdam,  2011Scale like an ant, distribute the workload - DPC, Amsterdam,  2011
Scale like an ant, distribute the workload - DPC, Amsterdam, 2011
 
Plant Pyrus in your system - A guide to a plugin system.
Plant Pyrus in your system - A guide to a plugin system.Plant Pyrus in your system - A guide to a plugin system.
Plant Pyrus in your system - A guide to a plugin system.
 
PEAR2 & Pyrus - The look ahead
PEAR2 & Pyrus - The look aheadPEAR2 & Pyrus - The look ahead
PEAR2 & Pyrus - The look ahead
 
Frontend Caching - The "new" frontier
Frontend Caching - The "new" frontierFrontend Caching - The "new" frontier
Frontend Caching - The "new" frontier
 
Caching for Cash, part 4 DPC 2009
Caching for Cash, part 4 DPC 2009Caching for Cash, part 4 DPC 2009
Caching for Cash, part 4 DPC 2009
 
Cashing For Cash, part 1 DPC 2009
Cashing For Cash, part 1 DPC 2009Cashing For Cash, part 1 DPC 2009
Cashing For Cash, part 1 DPC 2009
 
Website releases made easy with the PEAR installer, OSCON 2009
Website releases made easy with the PEAR installer, OSCON 2009Website releases made easy with the PEAR installer, OSCON 2009
Website releases made easy with the PEAR installer, OSCON 2009
 
Caching for Cash - Part 4
Caching for Cash - Part 4Caching for Cash - Part 4
Caching for Cash - Part 4
 
Caching for Cash - Part 1
Caching for Cash - Part 1Caching for Cash - Part 1
Caching for Cash - Part 1
 
Coping with Cyber Monday
Coping with Cyber MondayCoping with Cyber Monday
Coping with Cyber Monday
 
Website releases made easy with the PEAR installer - Barcelona 2008
Website releases made easy with the PEAR installer - Barcelona 2008Website releases made easy with the PEAR installer - Barcelona 2008
Website releases made easy with the PEAR installer - Barcelona 2008
 

Recently uploaded

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 

Recently uploaded (20)

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 

Frontend caching - PHP Day, Italy, 2011

  • 1. Frontend Caching Helgi Þormar Þorbjörnsson PhpDay, Italy, Verona, 14th May 2011 Saturday, 14 May 2011
  • 2. Who am I? Saturday, 14 May 2011
  • 3. Who am I? VP of Engineering at Orchestra.io Saturday, 14 May 2011
  • 4. Who am I? VP of Engineering at Orchestra.io Developer at PEAR Saturday, 14 May 2011
  • 5. Who am I? VP of Engineering at Orchestra.io Developer at PEAR From Iceland Saturday, 14 May 2011
  • 6. Who am I? VP of Engineering at Orchestra.io Developer at PEAR From Iceland @h on Twitter Saturday, 14 May 2011
  • 7. Pareto Principle 20% 80% Saturday, 14 May 2011
  • 8. 80 / 20 Rule 20% 80% 20% of the population receives 80% of the income Saturday, 14 May 2011
  • 9. 80 / 20 Rule 20% 80% 20% of causes produce 80% of the effects Saturday, 14 May 2011
  • 10. 80% of response time is spent downloading resources Saturday, 14 May 2011
  • 11. 4 Rules of Web Performance Saturday, 14 May 2011
  • 12. Weight Time Processing Perception Saturday, 14 May 2011
  • 14. Make people think your site is fast Saturday, 14 May 2011
  • 15. When people can interact with the site Saturday, 14 May 2011
  • 17. “It all depends on how we look at things, and not how they are in themselves.” - Carl G. Jung Saturday, 14 May 2011
  • 18. Perception 50% of users arrive on an empty cache Saturday, 14 May 2011
  • 19. Perception Empty Cache Full Cache 28.0K 1 HTML Document 1.9K 1 Style Sheet File 59.5K 4 Javascript Files 28.0K 1 HTML Document 78.7K 24 Images 0.1K 2 Images 168.1K Total Size 28.1K Total Size 30 HTTP Requests 3 HTTP Requests 2.4s Response Time 0.9s Response Time Saturday, 14 May 2011
  • 22. HTTP Requests Less is more Saturday, 14 May 2011
  • 23. HTTP Requests Less is more Fewer HTTP Requests Saturday, 14 May 2011
  • 24. HTTP Requests Less is more Fewer HTTP Requests Easy to improve on Saturday, 14 May 2011
  • 26. Cookies Sent with static content Saturday, 14 May 2011
  • 27. Cookies Sent with static content Slow upstream speed Saturday, 14 May 2011
  • 28. Cookies Sent with static content Slow upstream speed Big cookies Saturday, 14 May 2011
  • 29. Experiment Time! 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) Saturday, 14 May 2011
  • 30. Experiment Time! 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) Saturday, 14 May 2011
  • 31. Experiment Time! 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) Saturday, 14 May 2011
  • 34. Cookies Remove unnecessary cookies Saturday, 14 May 2011
  • 35. Cookies Remove unnecessary cookies Appropriate domain level Saturday, 14 May 2011
  • 36. Cookies Remove unnecessary cookies Appropriate domain level Keep size low Saturday, 14 May 2011
  • 37. Cookies Remove unnecessary cookies Appropriate domain level Keep size low Set Expires Saturday, 14 May 2011
  • 39. Parallel Downloads Be aware of max connection limits Saturday, 14 May 2011
  • 40. Parallel Downloads Be aware of max connection limits CNAME to point multiple sub domains to the same IP Saturday, 14 May 2011
  • 41. Parallel Downloads Be aware of max connection limits CNAME to point multiple sub domains to the same IP Saturday, 14 May 2011
  • 42. Parallel Downloads Borrowed from BrowserScope.org Saturday, 14 May 2011
  • 43. Parallel Downloads Borrowed from BrowserScope.org Saturday, 14 May 2011
  • 44. Parallel Downloads One domain = 2 Parallel connections Saturday, 14 May 2011
  • 45. Parallel Downloads One domain = 2 Parallel connections HTML Image Image Image Image Image Image Image Image 0.4 0.8 1.2 1.6 2 2.4 Secs Saturday, 14 May 2011
  • 46. Parallel Downloads Two domains = 4 Parallel connections HTML Image Image Image Image Image Image Image Image 0.4 0.8 1.2 1.6 2 2.4 Secs Saturday, 14 May 2011
  • 47. Parallel Downloads Too many hostnames can cause complications Saturday, 14 May 2011
  • 48. Parallel Downloads Too many hostnames can cause complications 2 – 4 sub domains is a good average Saturday, 14 May 2011
  • 49. Combine Files Combining 6 scripts into 1 eliminates 5 requests Saturday, 14 May 2011
  • 50. Combine Files Combining 6 scripts into 1 eliminates 5 requests Challenges: develop as separate modules combinations vs. loading more than needed Saturday, 14 May 2011
  • 51. Javascript Doesn’t comply with parallel download rules Saturday, 14 May 2011
  • 52. Javascript Doesn’t comply with parallel download rules HTML JS Image Image Image Image Image Image Image 0.4 0.8 1.2 1.6 2 2.4 Secs Saturday, 14 May 2011
  • 53. Javascript script defer attribute is not a solution Saturday, 14 May 2011
  • 54. Javascript script defer attribute is not a solution Solution - move them as low in the page as possible Saturday, 14 May 2011
  • 57. Processing Fake the delivery Saturday, 14 May 2011
  • 58. Processing Fake the delivery Lazy Loading Saturday, 14 May 2011
  • 59. Processing Fake the delivery Lazy Loading Above the fold Loading Saturday, 14 May 2011
  • 60. Processing Fake the delivery Lazy Loading Above the fold Loading Delay Javascript Loading Saturday, 14 May 2011
  • 62. Processing Bonus - async attribute Saturday, 14 May 2011
  • 63. Processing Bonus - async attribute http://www.appelsiini.net/projects/lazyload Saturday, 14 May 2011
  • 65. JS Minification Crushes the file Strips out all cruft Voodoo Magic! Saturday, 14 May 2011
  • 66. JS Minfication UglifyJS Google Closure YUI Compressor Saturday, 14 May 2011
  • 67. JS Minfication UglifyJS Google Closure YUI Compressor http://bit.ly/compression-rates Saturday, 14 May 2011
  • 68. CSS Minification YUI Compressor minifycss.com OOCSS Saturday, 14 May 2011
  • 69. GZip GZip can be used on Saturday, 14 May 2011
  • 70. GZip GZip can be used on JS Saturday, 14 May 2011
  • 71. GZip GZip can be used on JS CSS Saturday, 14 May 2011
  • 72. GZip GZip can be used on JS CSS XML Saturday, 14 May 2011
  • 73. GZip GZip can be used on JS CSS XML JSON Saturday, 14 May 2011
  • 74. GZip GZip should not be used on Saturday, 14 May 2011
  • 75. GZip GZip should not be used on Images Saturday, 14 May 2011
  • 76. GZip GZip should not be used on Images Document formats Saturday, 14 May 2011
  • 77. GZip GZip should not be used on Images Document formats Already compressed Saturday, 14 May 2011
  • 78. 404 robots.txt favicon Saturday, 14 May 2011
  • 80. Images favicon Saturday, 14 May 2011
  • 81. Images favicon CSS Sprites Saturday, 14 May 2011
  • 82. Images favicon CSS Sprites Saturday, 14 May 2011
  • 84. Images Badly optimised Saturday, 14 May 2011
  • 85. Images Badly optimised Thumbnails Saturday, 14 May 2011
  • 86. Images Badly optimised Thumbnails PNGs compressed up to 50% Saturday, 14 May 2011
  • 87. PNG Optimise OptiPNG pngwolf pngcrush jpegtran Saturday, 14 May 2011
  • 90. SSL Extra roundtrips Saturday, 14 May 2011
  • 91. SSL Extra roundtrips More resources for servers Saturday, 14 May 2011
  • 92. SSL Extra roundtrips More resources for servers Worth it, tho! Saturday, 14 May 2011
  • 93. Tread the users’ path Saturday, 14 May 2011
  • 94. Tread the users’ path Test on slower connections Saturday, 14 May 2011
  • 95. Tread the users’ path Test on slower connections Slow proxies Saturday, 14 May 2011
  • 96. Tread the users’ path Saturday, 14 May 2011
  • 97. Tread the users’ path Tables / Phones Saturday, 14 May 2011
  • 98. Tread the users’ path Tables / Phones Airline connections Saturday, 14 May 2011
  • 99. Tread the users’ path Tables / Phones Airline connections Public places Saturday, 14 May 2011
  • 101. CDN Single domain Saturday, 14 May 2011
  • 102. CDN Single domain Smart routing Saturday, 14 May 2011
  • 103. CDN Single domain Smart routing Data is closer to end user Saturday, 14 May 2011
  • 106. CDN on a Budget Saturday, 14 May 2011
  • 107. CDN on a Budget S3 Saturday, 14 May 2011
  • 108. Query vs. Filename revisions Saturday, 14 May 2011
  • 109. Query vs. Filename revisions Cache far in future Saturday, 14 May 2011
  • 110. Query vs. Filename revisions Cache far in future Revisioning forces downloads Saturday, 14 May 2011
  • 111. Query vs. Filename revisions Cache far in future Revisioning forces downloads Saturday, 14 May 2011
  • 113. Query revisions Easy and convenient Saturday, 14 May 2011
  • 114. Query revisions Easy and convenient Usually not recommended Saturday, 14 May 2011
  • 115. Query revisions Easy and convenient Usually not recommended Bad proxies are a problem Saturday, 14 May 2011
  • 117. Filename revisions Requires more work Saturday, 14 May 2011
  • 118. Filename revisions Requires more work Recommended Saturday, 14 May 2011
  • 119. Filename revisions Requires more work Recommended During build, using md5 hash Saturday, 14 May 2011
  • 121. Compromise Create a version function Saturday, 14 May 2011
  • 122. Compromise Create a version function Put on all resources Saturday, 14 May 2011
  • 123. Compromise Create a version function Put on all resources mod_rewrite magic Saturday, 14 May 2011
  • 124. Compromise Create a version function Put on all resources mod_rewrite magic http://bit.ly/query_rev_comp Saturday, 14 May 2011
  • 126. Browser Tools Firebug Saturday, 14 May 2011
  • 127. Browser Tools Firebug YSlow Saturday, 14 May 2011
  • 128. Browser Tools Firebug YSlow PageSpeed Saturday, 14 May 2011
  • 129. Browser Tools Firebug YSlow PageSpeed Chrome Inspector Saturday, 14 May 2011
  • 131. Other Tools HTTPWatch.com Saturday, 14 May 2011
  • 132. Other Tools HTTPWatch.com WebPageTest.org Saturday, 14 May 2011
  • 133. Other Tools HTTPWatch.com WebPageTest.org HTTPArchive.org Saturday, 14 May 2011
  • 134. Other Tools HTTPWatch.com WebPageTest.org HTTPArchive.org Yottaa.com Saturday, 14 May 2011
  • 136. Other Tools WonderProxy.com Saturday, 14 May 2011
  • 137. Other Tools WonderProxy.com pagespeed.googlelabs.com Saturday, 14 May 2011
  • 138. Other Tools WonderProxy.com pagespeed.googlelabs.com BrowserScope.com Saturday, 14 May 2011
  • 139. Other Tools WonderProxy.com pagespeed.googlelabs.com BrowserScope.com html5boilerplate.com Saturday, 14 May 2011
  • 140. “Knowledge rests not upon truth alone, but upon error also” - Carl G. Jung Saturday, 14 May 2011
  • 141. Questions? helgi@orchestra.io Twitter: @h Joind.in: http://joind.in/2987 Saturday, 14 May 2011