SlideShare a Scribd company logo
1 of 85
Download to read offline
Holger Bartel | @foobartel | FEDay, Guangzhou, China, 19/03/2016
Web Performance

in the Age of HTTP/2
@foobartel
Holger Bartel | @foobartel | FEDay, Guangzhou, China, 19/03/2016
Also on Sina Weibo! ;)
Waiting
Source
And it’s been like that for a long time.
Nobody likes to wait.
Source
waiting
ˈweɪtɪŋ/
noun
1. the action of staying where one is or
delaying action until a particular time or
event.
"years of waiting"
Source
waiting
ˈweɪtɪŋ/
noun
1. the action of staying where one is or
delaying action until a particular time or
event.
"years of waiting"
Web Performance
🚀
Users expect ~2-3 seconds to load a site…
This is a user’s definition of ‘fast’
And today, we’re even aiming to deliver something faster
User Expectations
50% of people say they'll abandon a page that takes
longer than 4 seconds to load
User Expectations
Depending on a users location and infrastructure it
might take longer
More than 8-10 seconds of load time for sure is pushing
it and people will not wait
User Expectations
Delay User perception
0–100 ms Instant
100–300 ms Small perceptible delay
300–1000 ms Machine is working
1,000+ ms Likely mental context switch
10,000+ ms Task is abandoned
Source
The unofficial rule of thumb in the web
performance community:
Render pages, or at the very least provide
visual feedback, in under 250 milliseconds to
keep the user engaged!
Source
Our Logical Conclusion: 

Faster is Be er!
The Impact of Performance
(and why you should care)
Speeding up a
fundraising site by
60% increased
donations by 14%.

— Obama Campaign
Adding half a second to a
search results page can
decrease traffic and ad
revenues by 20%

— Google
Every additional 100
milliseconds of load
time decreased
sales by 1%.

— Amazon
40% of surveyed online
shoppers will abandon a
page that takes more
than 3 seconds to load.

— Akamai
Let’s have a look at

Global Network Speed
http://www.netindex.com
Global Broadband Average
Download: 21.3Mbps
Global Mobile Average
Download: 10.9Mbps
Turns Out…
Not Quite That Easy!
Top 20 Countries Broadband Download 2012 - 2014
November 2014
Philippines

Download: 3.49Mbps (Mobile roughly the same)
Indonesia

Download: 5.27Mbps (Mobile 2.67Mbps)
USA

Download: 31.3Mbps (Mobile 13.33Mbps)
Sounds pre y good!
3G, Edge, GPRS
3G, Edge, GPRS

or Maybe (Close to) Offline…
This is Why
Faster Sites are Be er!
2013 - 2016
Source
Building for Performance
Performance Techniques Today
Concatenation of Files
Image Sprites
Inline Images
Domain Sharding
Rendering Pages
Waiting for DOM and CSSOM to build the render tree.
Render tree contains nodes to render the page.
Layout computes the exact position and size.
Paint turns the render tree into pixels on screen.
Render-Tree Construction,
Layout & Paint
Source
Waiting for CSS
Avoids “Flash of Unstyled Content” (FOUC)
Render Blocking CSS
Source
The parser has to stop for scripts before continuing to
parse HTML.
JavaScript can query and modify DOM and CSSOM.
JavaScript blocks DOM construction unless
explicitly declared as async.
Render Blocking JavaScript
Source
Every request fetched inside of HEAD, will postpone
the rendering of the page
Loading JavaScript
Source
Every request takes roughly ~200ms
Avoid unnecessary redirects
Limit HTTP Requests
Source
Critical Resource
Critical Path Length
Critical Bytes
The Critical Rendering Path
Source
Optimising the Critical
Rendering Path
=
Ge ing stuff on the screen
fast
Minimize the number of critical resources.
Minimize the number of critical bytes.
Minimize the critical path length.
A critical resource is a resource that can block
initial rendering of a page.
Source
The History of HTTP
HTTP/0.9 (1991)
HTTP/1.0 (1996)
HTTP/1.1 (1999)
To reduce the load on the server, HTTP/1.1’s
approach was to limit its TCP connections
“A single-user client should not maintain more
than 2 connections with any server or proxy.”
In real life, browsers hold ~6 TCP connections
simultaneously per origin.
More Bandwidth Doesn’t Make a Big Difference
An increase from 5Mbps to 10Mbps results in a
disappointing 5% improvement in page load times.
Source
The water pipe example
Bandwidth & Round-Trip Time
PageLoadTime(ms)
0
800
1600
2400
3200
Bandwidth
1Mbps 2Mbps 3Mbps 4Mpbs 5Mbps 6Mbps 7Mbps 8Mbps 9Mbps 10Mbps
Page Load Time as bandwidth increases
Source
Round-trip-times (RTT) have a bigger impact
on performance, more than bandwidth does.
Source
Round-trip-times (RTT) have a bigger impact
on performance, more than bandwidth does.
Source
PageLoadTime(ms)
0
800
1600
2400
3200
Bandwidth
1Mbps 2Mbps 3Mbps 4Mpbs 5Mbps 6Mbps 7Mbps 8Mbps 9Mbps 10Mbps
PageLoadTime(ms)
0
1000
2000
3000
4000
RTT
240ms 220ms 200ms 180ms 160ms 140ms 120ms 100ms 80ms 60ms 40ms 20ms 0ms
Page Load Time as bandwidth increases
Page Load Time as latency decreases
Source
“HTTP2 produces the biggest performance
gains on mobile bc it remedies high latency”

— @patrickhamann #smashingconf
PageLoadTime(ms)
0
1000
2000
3000
4000
RTT
240ms 220ms 200ms 180ms 160ms 140ms 120ms 100ms 80ms 60ms 40ms 20ms
Page Load Time as latency decreases
Source
SPDY(2010)
Multiplexing: allow concurrent requests
across a single TCP connection;
Allow browsers to prioritise assets so that
vital resources of a page could are sent first;
Compress and reduce HTTP headers;
Server push: A server can push important
resources to the browser before being asked
for them.
HTTP/2 (2015)
Networking protocol for low-latency transport
of content over the web.
Originally started out from the SPDY protocol,
now standardised as HTTP version 2.
• Multiplexing
• Compressed headers
• Asset Prioritisation & Dependencies
• Server Push 

(saves the time it takes the client to ask for
the resources)
HTTP/2 is backwards-compatible 

with HTTP/1.1
Building for Performance 

with HTTP/2
What do you need to enable HTTP/2?
SSL/TLS required
Google* uses secure connections as a ranking
signal, and browsers are starting to flag non-h ps
websites as ‘not secure’.
Some HTML5 APIs will also require secure
connections in the future (e.g. Geolocation).
* Baidu Analytics includes a site speed section, so they might follow this
trend in the future.
Leveraging additional benefits of SSL
Serving HTTP/2
Apache Module mod_h p2
HTTP/2 supporting browsers
Under HTTP/2, some of our current best
practices might impact performance
negatively.
Let’s look at the new anti-pa erns.
What has Changed?
HTTP/1.x HTTP/2
This was a workaround for the lack of parallelism in
HTTP/1.x to reduce requests;
Combining multiple files into one and fetch with one
request.
Need to wait of the entire file/response to arrive
Concatenation of Files
• Structure code to only deliver what’s needed
• No need for additional build process steps
• Optimise caching policies depending on change
frequency of files
New!
Requests are cheap!
Thanks to the new multiplexing ability of HTTP/2
resources don’t need to be queued anymore.
Nevertheless, depending on the kind of image, and how
they are used, spriting can still be the be er option in
regards to compression and file size.
Image Sprites
Another workaround for the lack of parallelism in
HTTP/1.x

Besides increasing the file size of stylesheets etc., the
resource can’t be cached and asset re-use will create
unnecessary overhead
Prioritisation features of HTTP/2 can’t be used
Inline Images
And one more workaround for the lack of multiplexing
in HTTP/1.x
Browsers can handle ~6 connections per origin, but
domain sharding allows us to (theoretically) extend this
to an unlimited amount of connections.
Domain sharding will have a negative impact when
used with HTTP/2.
Domain Sharding
Source
!
HTTP1.x HTTP2
Reduce DNS lookups ✓ ✓
Reuse TCP connections ✓ ✓
Use a Content Delivery Network ✓ ✓
Minimize number of HTTP redirects ✓ ✓
Eliminate unnecessary request bytes ✓ ✓
Compress assets during transfer ✓ ✓
Cache resources on the client ✓ ✓
Eliminate unnecessary resources ✓ ✓
Apply domain sharding Revisit (max 2) Remove
Concatenate resources Careful & consider caching Remove
Inline resources Careful & consider caching Remove (Server Push)
Source
Ge ing to HTTP/2
Make the move to TLS & add a secure
connection to your site

(This can be done at any time and brings some additional benefits, even without HTTP/2)
Make sure your server supports HTTP/2

(Confirm with your hosting provider, roll your own or use a HTTP/2 supporting CDN service)
Prepare your assets & adjust the build process
for HTTP/2

(Adjust to output the required files that best suit your needs and test your choices)
Check Analytics & confirm your user’s
browser support

(This could affect users with older browsers negatively, and check for majority support)
Implement your favourite HTTP/2 best
practices and adjust your caching policies

(Measure your performance before and a er the update and share your results with the world!!)
!
Holger Bartel | @foobartel | FEDay, Guangzhou, China, 19/03/2016

More Related Content

What's hot

HTTP/2 Introduction
HTTP/2 IntroductionHTTP/2 Introduction
HTTP/2 IntroductionWalter Liu
 
Altitude San Francisco 2018: Programming the Edge
Altitude San Francisco 2018: Programming the EdgeAltitude San Francisco 2018: Programming the Edge
Altitude San Francisco 2018: Programming the EdgeFastly
 
HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0
HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0
HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0Cory Forsyth
 
I got 99 problems, but ReST ain't one
I got 99 problems, but ReST ain't oneI got 99 problems, but ReST ain't one
I got 99 problems, but ReST ain't oneAdrian Cole
 
HTTP/2 Update - FOSDEM 2016
HTTP/2 Update - FOSDEM 2016HTTP/2 Update - FOSDEM 2016
HTTP/2 Update - FOSDEM 2016Daniel Stenberg
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2Ido Flatow
 
HTTP2:新的机遇与挑战
HTTP2:新的机遇与挑战HTTP2:新的机遇与挑战
HTTP2:新的机遇与挑战Jerry Qu
 
HTTP 2.0 – What do I need to know?
HTTP 2.0 – What do I need to know? HTTP 2.0 – What do I need to know?
HTTP 2.0 – What do I need to know? Sigma Software
 
HTTP - The Protocol of Our Lives
HTTP - The Protocol of Our LivesHTTP - The Protocol of Our Lives
HTTP - The Protocol of Our LivesBrent Shaffer
 
Revisiting HTTP/2
Revisiting HTTP/2Revisiting HTTP/2
Revisiting HTTP/2Fastly
 
Taking a Quantum Leap with Html 5 WebSocket
Taking a Quantum Leap with Html 5 WebSocketTaking a Quantum Leap with Html 5 WebSocket
Taking a Quantum Leap with Html 5 WebSocketShahriar Hyder
 
HTTP2 & HPACK #pyfes 2013-11-30
HTTP2 & HPACK #pyfes 2013-11-30HTTP2 & HPACK #pyfes 2013-11-30
HTTP2 & HPACK #pyfes 2013-11-30Jxck Jxck
 
Web Performance Automation - NY Web Performance Meetup
Web Performance Automation - NY Web Performance MeetupWeb Performance Automation - NY Web Performance Meetup
Web Performance Automation - NY Web Performance MeetupStrangeloop
 
Efficient HTTP Apis
Efficient HTTP ApisEfficient HTTP Apis
Efficient HTTP ApisAdrian Cole
 
Concepts for Operating a Web Site
Concepts for Operating a Web SiteConcepts for Operating a Web Site
Concepts for Operating a Web SiteCan Burak Çilingir
 
What we can learn from CDNs about Web Development, Deployment, and Performance
What we can learn from CDNs about Web Development, Deployment, and PerformanceWhat we can learn from CDNs about Web Development, Deployment, and Performance
What we can learn from CDNs about Web Development, Deployment, and PerformanceFastly
 

What's hot (20)

Http methods
Http methodsHttp methods
Http methods
 
Http2
Http2Http2
Http2
 
HTTP/2 Introduction
HTTP/2 IntroductionHTTP/2 Introduction
HTTP/2 Introduction
 
Altitude San Francisco 2018: Programming the Edge
Altitude San Francisco 2018: Programming the EdgeAltitude San Francisco 2018: Programming the Edge
Altitude San Francisco 2018: Programming the Edge
 
HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0
HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0
HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0
 
I got 99 problems, but ReST ain't one
I got 99 problems, but ReST ain't oneI got 99 problems, but ReST ain't one
I got 99 problems, but ReST ain't one
 
HTTP/2 Update - FOSDEM 2016
HTTP/2 Update - FOSDEM 2016HTTP/2 Update - FOSDEM 2016
HTTP/2 Update - FOSDEM 2016
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2
 
HTTP2:新的机遇与挑战
HTTP2:新的机遇与挑战HTTP2:新的机遇与挑战
HTTP2:新的机遇与挑战
 
HTTP 2.0 – What do I need to know?
HTTP 2.0 – What do I need to know? HTTP 2.0 – What do I need to know?
HTTP 2.0 – What do I need to know?
 
Http2 right now
Http2 right nowHttp2 right now
Http2 right now
 
HTTP - The Protocol of Our Lives
HTTP - The Protocol of Our LivesHTTP - The Protocol of Our Lives
HTTP - The Protocol of Our Lives
 
Revisiting HTTP/2
Revisiting HTTP/2Revisiting HTTP/2
Revisiting HTTP/2
 
Taking a Quantum Leap with Html 5 WebSocket
Taking a Quantum Leap with Html 5 WebSocketTaking a Quantum Leap with Html 5 WebSocket
Taking a Quantum Leap with Html 5 WebSocket
 
HTTP2 & HPACK #pyfes 2013-11-30
HTTP2 & HPACK #pyfes 2013-11-30HTTP2 & HPACK #pyfes 2013-11-30
HTTP2 & HPACK #pyfes 2013-11-30
 
Web Performance Automation - NY Web Performance Meetup
Web Performance Automation - NY Web Performance MeetupWeb Performance Automation - NY Web Performance Meetup
Web Performance Automation - NY Web Performance Meetup
 
Efficient HTTP Apis
Efficient HTTP ApisEfficient HTTP Apis
Efficient HTTP Apis
 
Concepts for Operating a Web Site
Concepts for Operating a Web SiteConcepts for Operating a Web Site
Concepts for Operating a Web Site
 
Http2 kotlin
Http2   kotlinHttp2   kotlin
Http2 kotlin
 
What we can learn from CDNs about Web Development, Deployment, and Performance
What we can learn from CDNs about Web Development, Deployment, and PerformanceWhat we can learn from CDNs about Web Development, Deployment, and Performance
What we can learn from CDNs about Web Development, Deployment, and Performance
 

Similar to Web Performance in the Age of HTTP/2 - FEDay Conference, Guangzhou, China 19/03/2016

Next generation web protocols
Next generation web protocolsNext generation web protocols
Next generation web protocolsDaniel Austin
 
HTTP/2 and a Faster Web
HTTP/2 and a Faster WebHTTP/2 and a Faster Web
HTTP/2 and a Faster WebC4Media
 
[White Paper] Innovations in Mobile Content Delivery: Avoiding the Great Mobi...
[White Paper] Innovations in Mobile Content Delivery: Avoiding the Great Mobi...[White Paper] Innovations in Mobile Content Delivery: Avoiding the Great Mobi...
[White Paper] Innovations in Mobile Content Delivery: Avoiding the Great Mobi...Cotendo
 
The Great Mobile Slowdown
The Great Mobile SlowdownThe Great Mobile Slowdown
The Great Mobile Slowdowngyanendra1
 
Mobile web performance - MoDev East
Mobile web performance - MoDev EastMobile web performance - MoDev East
Mobile web performance - MoDev EastPatrick Meenan
 
Http2 is here! And why the web needs it
Http2 is here! And why the web needs itHttp2 is here! And why the web needs it
Http2 is here! And why the web needs itIndicThreads
 
Meetup Tech Talk on Web Performance
Meetup Tech Talk on Web PerformanceMeetup Tech Talk on Web Performance
Meetup Tech Talk on Web PerformanceJean Tunis
 
A SPDYier Experience by Olaniyi Jinadu
A SPDYier Experience by Olaniyi JinaduA SPDYier Experience by Olaniyi Jinadu
A SPDYier Experience by Olaniyi JinaduOlaniyi Jinadu
 
HTML5, HTTP2, and You 1.1
HTML5, HTTP2, and You 1.1HTML5, HTTP2, and You 1.1
HTML5, HTTP2, and You 1.1Daniel Austin
 
Http2 protocol changes
Http2 protocol changesHttp2 protocol changes
Http2 protocol changesMark Friedman
 
Art and Science of Web Sites Performance: A Front-end Approach
Art and Science of Web Sites Performance: A Front-end ApproachArt and Science of Web Sites Performance: A Front-end Approach
Art and Science of Web Sites Performance: A Front-end ApproachJiang Zhu
 
TR14-05_Martindell.pdf
TR14-05_Martindell.pdfTR14-05_Martindell.pdf
TR14-05_Martindell.pdfTomTom149267
 
Client Side Performance @ Xero
Client Side Performance @ XeroClient Side Performance @ Xero
Client Side Performance @ XeroCraig Walker
 
Delivering High Performance Websites with NGINX
Delivering High Performance Websites with NGINXDelivering High Performance Websites with NGINX
Delivering High Performance Websites with NGINXNGINX, Inc.
 
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...Amazon Web Services
 
The case for HTTP/2
The case for HTTP/2The case for HTTP/2
The case for HTTP/2GreeceJS
 

Similar to Web Performance in the Age of HTTP/2 - FEDay Conference, Guangzhou, China 19/03/2016 (20)

Next generation web protocols
Next generation web protocolsNext generation web protocols
Next generation web protocols
 
HTTP/2 and a Faster Web
HTTP/2 and a Faster WebHTTP/2 and a Faster Web
HTTP/2 and a Faster Web
 
Http/2
Http/2Http/2
Http/2
 
[White Paper] Innovations in Mobile Content Delivery: Avoiding the Great Mobi...
[White Paper] Innovations in Mobile Content Delivery: Avoiding the Great Mobi...[White Paper] Innovations in Mobile Content Delivery: Avoiding the Great Mobi...
[White Paper] Innovations in Mobile Content Delivery: Avoiding the Great Mobi...
 
The Great Mobile Slowdown
The Great Mobile SlowdownThe Great Mobile Slowdown
The Great Mobile Slowdown
 
Mobile web performance - MoDev East
Mobile web performance - MoDev EastMobile web performance - MoDev East
Mobile web performance - MoDev East
 
HTTP/2 Comes to Java
HTTP/2 Comes to JavaHTTP/2 Comes to Java
HTTP/2 Comes to Java
 
HTTP Presentation
HTTP Presentation HTTP Presentation
HTTP Presentation
 
Http2 is here! And why the web needs it
Http2 is here! And why the web needs itHttp2 is here! And why the web needs it
Http2 is here! And why the web needs it
 
Meetup Tech Talk on Web Performance
Meetup Tech Talk on Web PerformanceMeetup Tech Talk on Web Performance
Meetup Tech Talk on Web Performance
 
A SPDYier Experience by Olaniyi Jinadu
A SPDYier Experience by Olaniyi JinaduA SPDYier Experience by Olaniyi Jinadu
A SPDYier Experience by Olaniyi Jinadu
 
HTML5, HTTP2, and You 1.1
HTML5, HTTP2, and You 1.1HTML5, HTTP2, and You 1.1
HTML5, HTTP2, and You 1.1
 
Http2 protocol changes
Http2 protocol changesHttp2 protocol changes
Http2 protocol changes
 
Art and Science of Web Sites Performance: A Front-end Approach
Art and Science of Web Sites Performance: A Front-end ApproachArt and Science of Web Sites Performance: A Front-end Approach
Art and Science of Web Sites Performance: A Front-end Approach
 
TR14-05_Martindell.pdf
TR14-05_Martindell.pdfTR14-05_Martindell.pdf
TR14-05_Martindell.pdf
 
Client Side Performance @ Xero
Client Side Performance @ XeroClient Side Performance @ Xero
Client Side Performance @ Xero
 
Delivering High Performance Websites with NGINX
Delivering High Performance Websites with NGINXDelivering High Performance Websites with NGINX
Delivering High Performance Websites with NGINX
 
Http 2
Http 2Http 2
Http 2
 
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...
 
The case for HTTP/2
The case for HTTP/2The case for HTTP/2
The case for HTTP/2
 

More from Holger Bartel

The Untold Benefits of Ethical Design - Topconf Tallinn 2018
The Untold Benefits of Ethical Design - Topconf Tallinn 2018The Untold Benefits of Ethical Design - Topconf Tallinn 2018
The Untold Benefits of Ethical Design - Topconf Tallinn 2018Holger Bartel
 
The Untold Benefits of Ethical Design - Coldfront 2018, Copenhagen
The Untold Benefits of Ethical Design - Coldfront 2018, CopenhagenThe Untold Benefits of Ethical Design - Coldfront 2018, Copenhagen
The Untold Benefits of Ethical Design - Coldfront 2018, CopenhagenHolger Bartel
 
The Untold Benefits of Ethical Design - Web Directions Summit 2018, Sydney
The Untold Benefits of Ethical Design - Web Directions Summit 2018, SydneyThe Untold Benefits of Ethical Design - Web Directions Summit 2018, Sydney
The Untold Benefits of Ethical Design - Web Directions Summit 2018, SydneyHolger Bartel
 
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger Bartel
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger BartelWeb Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger Bartel
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger BartelHolger Bartel
 
Form Function Class 6, Manila, Philippines 14/11/2015
Form Function Class 6, Manila, Philippines 14/11/2015Form Function Class 6, Manila, Philippines 14/11/2015
Form Function Class 6, Manila, Philippines 14/11/2015Holger Bartel
 
HK CodeConf 2015 - Your WebPerf Sucks
HK CodeConf 2015 - Your WebPerf Sucks HK CodeConf 2015 - Your WebPerf Sucks
HK CodeConf 2015 - Your WebPerf Sucks Holger Bartel
 
Front End Tooling and Performance - Codeaholics HK 2015
Front End Tooling and Performance - Codeaholics HK 2015Front End Tooling and Performance - Codeaholics HK 2015
Front End Tooling and Performance - Codeaholics HK 2015Holger Bartel
 
Building Better Responsive Websites
Building Better Responsive WebsitesBuilding Better Responsive Websites
Building Better Responsive WebsitesHolger Bartel
 
Front End Best Practices
Front End Best PracticesFront End Best Practices
Front End Best PracticesHolger Bartel
 
180 Degrees East, SmartDevCon 2013, Katowice, Poland
180 Degrees East, SmartDevCon 2013, Katowice, Poland180 Degrees East, SmartDevCon 2013, Katowice, Poland
180 Degrees East, SmartDevCon 2013, Katowice, PolandHolger Bartel
 
180 Degrees East, Webshaped 2013, Helsinki, Finland
180 Degrees East, Webshaped 2013, Helsinki, Finland180 Degrees East, Webshaped 2013, Helsinki, Finland
180 Degrees East, Webshaped 2013, Helsinki, FinlandHolger Bartel
 
180 Degrees East at Front Trends 2013, Warsaw, Poland
180 Degrees East at Front Trends 2013, Warsaw, Poland180 Degrees East at Front Trends 2013, Warsaw, Poland
180 Degrees East at Front Trends 2013, Warsaw, PolandHolger Bartel
 
Open Device Labs for A Better User Experience (Mobilliance, Hong Kong)
Open Device Labs for A Better User Experience (Mobilliance, Hong Kong)Open Device Labs for A Better User Experience (Mobilliance, Hong Kong)
Open Device Labs for A Better User Experience (Mobilliance, Hong Kong)Holger Bartel
 
Responsive Web Design & Workflows for Todays Web (THE UX-MEN at The Hive, Hon...
Responsive Web Design & Workflows for Todays Web (THE UX-MEN at The Hive, Hon...Responsive Web Design & Workflows for Todays Web (THE UX-MEN at The Hive, Hon...
Responsive Web Design & Workflows for Todays Web (THE UX-MEN at The Hive, Hon...Holger Bartel
 

More from Holger Bartel (14)

The Untold Benefits of Ethical Design - Topconf Tallinn 2018
The Untold Benefits of Ethical Design - Topconf Tallinn 2018The Untold Benefits of Ethical Design - Topconf Tallinn 2018
The Untold Benefits of Ethical Design - Topconf Tallinn 2018
 
The Untold Benefits of Ethical Design - Coldfront 2018, Copenhagen
The Untold Benefits of Ethical Design - Coldfront 2018, CopenhagenThe Untold Benefits of Ethical Design - Coldfront 2018, Copenhagen
The Untold Benefits of Ethical Design - Coldfront 2018, Copenhagen
 
The Untold Benefits of Ethical Design - Web Directions Summit 2018, Sydney
The Untold Benefits of Ethical Design - Web Directions Summit 2018, SydneyThe Untold Benefits of Ethical Design - Web Directions Summit 2018, Sydney
The Untold Benefits of Ethical Design - Web Directions Summit 2018, Sydney
 
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger Bartel
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger BartelWeb Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger Bartel
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger Bartel
 
Form Function Class 6, Manila, Philippines 14/11/2015
Form Function Class 6, Manila, Philippines 14/11/2015Form Function Class 6, Manila, Philippines 14/11/2015
Form Function Class 6, Manila, Philippines 14/11/2015
 
HK CodeConf 2015 - Your WebPerf Sucks
HK CodeConf 2015 - Your WebPerf Sucks HK CodeConf 2015 - Your WebPerf Sucks
HK CodeConf 2015 - Your WebPerf Sucks
 
Front End Tooling and Performance - Codeaholics HK 2015
Front End Tooling and Performance - Codeaholics HK 2015Front End Tooling and Performance - Codeaholics HK 2015
Front End Tooling and Performance - Codeaholics HK 2015
 
Building Better Responsive Websites
Building Better Responsive WebsitesBuilding Better Responsive Websites
Building Better Responsive Websites
 
Front End Best Practices
Front End Best PracticesFront End Best Practices
Front End Best Practices
 
180 Degrees East, SmartDevCon 2013, Katowice, Poland
180 Degrees East, SmartDevCon 2013, Katowice, Poland180 Degrees East, SmartDevCon 2013, Katowice, Poland
180 Degrees East, SmartDevCon 2013, Katowice, Poland
 
180 Degrees East, Webshaped 2013, Helsinki, Finland
180 Degrees East, Webshaped 2013, Helsinki, Finland180 Degrees East, Webshaped 2013, Helsinki, Finland
180 Degrees East, Webshaped 2013, Helsinki, Finland
 
180 Degrees East at Front Trends 2013, Warsaw, Poland
180 Degrees East at Front Trends 2013, Warsaw, Poland180 Degrees East at Front Trends 2013, Warsaw, Poland
180 Degrees East at Front Trends 2013, Warsaw, Poland
 
Open Device Labs for A Better User Experience (Mobilliance, Hong Kong)
Open Device Labs for A Better User Experience (Mobilliance, Hong Kong)Open Device Labs for A Better User Experience (Mobilliance, Hong Kong)
Open Device Labs for A Better User Experience (Mobilliance, Hong Kong)
 
Responsive Web Design & Workflows for Todays Web (THE UX-MEN at The Hive, Hon...
Responsive Web Design & Workflows for Todays Web (THE UX-MEN at The Hive, Hon...Responsive Web Design & Workflows for Todays Web (THE UX-MEN at The Hive, Hon...
Responsive Web Design & Workflows for Todays Web (THE UX-MEN at The Hive, Hon...
 

Recently uploaded

MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
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
 
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
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
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
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
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
 

Recently uploaded (20)

MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
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
 
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
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
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
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
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
 

Web Performance in the Age of HTTP/2 - FEDay Conference, Guangzhou, China 19/03/2016

  • 1. Holger Bartel | @foobartel | FEDay, Guangzhou, China, 19/03/2016 Web Performance
 in the Age of HTTP/2
  • 2. @foobartel Holger Bartel | @foobartel | FEDay, Guangzhou, China, 19/03/2016 Also on Sina Weibo! ;)
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 12. Source And it’s been like that for a long time. Nobody likes to wait.
  • 13. Source waiting ˈweɪtɪŋ/ noun 1. the action of staying where one is or delaying action until a particular time or event. "years of waiting"
  • 14. Source waiting ˈweɪtɪŋ/ noun 1. the action of staying where one is or delaying action until a particular time or event. "years of waiting"
  • 16. Users expect ~2-3 seconds to load a site… This is a user’s definition of ‘fast’ And today, we’re even aiming to deliver something faster User Expectations
  • 17. 50% of people say they'll abandon a page that takes longer than 4 seconds to load User Expectations
  • 18. Depending on a users location and infrastructure it might take longer More than 8-10 seconds of load time for sure is pushing it and people will not wait User Expectations
  • 19. Delay User perception 0–100 ms Instant 100–300 ms Small perceptible delay 300–1000 ms Machine is working 1,000+ ms Likely mental context switch 10,000+ ms Task is abandoned Source
  • 20. The unofficial rule of thumb in the web performance community: Render pages, or at the very least provide visual feedback, in under 250 milliseconds to keep the user engaged! Source
  • 21. Our Logical Conclusion: 
 Faster is Be er!
  • 22. The Impact of Performance (and why you should care)
  • 23. Speeding up a fundraising site by 60% increased donations by 14%.
 — Obama Campaign Adding half a second to a search results page can decrease traffic and ad revenues by 20%
 — Google Every additional 100 milliseconds of load time decreased sales by 1%.
 — Amazon 40% of surveyed online shoppers will abandon a page that takes more than 3 seconds to load.
 — Akamai
  • 24. Let’s have a look at
 Global Network Speed
  • 25. http://www.netindex.com Global Broadband Average Download: 21.3Mbps Global Mobile Average Download: 10.9Mbps
  • 26. Turns Out… Not Quite That Easy! Top 20 Countries Broadband Download 2012 - 2014
  • 27. November 2014 Philippines
 Download: 3.49Mbps (Mobile roughly the same) Indonesia
 Download: 5.27Mbps (Mobile 2.67Mbps) USA
 Download: 31.3Mbps (Mobile 13.33Mbps)
  • 28. Sounds pre y good!
  • 30. 3G, Edge, GPRS
 or Maybe (Close to) Offline…
  • 31. This is Why Faster Sites are Be er!
  • 34. Performance Techniques Today Concatenation of Files Image Sprites Inline Images Domain Sharding
  • 36. Waiting for DOM and CSSOM to build the render tree. Render tree contains nodes to render the page. Layout computes the exact position and size. Paint turns the render tree into pixels on screen. Render-Tree Construction, Layout & Paint Source
  • 37. Waiting for CSS Avoids “Flash of Unstyled Content” (FOUC) Render Blocking CSS Source
  • 38. The parser has to stop for scripts before continuing to parse HTML. JavaScript can query and modify DOM and CSSOM. JavaScript blocks DOM construction unless explicitly declared as async. Render Blocking JavaScript Source
  • 39. Every request fetched inside of HEAD, will postpone the rendering of the page Loading JavaScript Source
  • 40. Every request takes roughly ~200ms Avoid unnecessary redirects Limit HTTP Requests Source
  • 41. Critical Resource Critical Path Length Critical Bytes The Critical Rendering Path Source
  • 42. Optimising the Critical Rendering Path = Ge ing stuff on the screen fast
  • 43. Minimize the number of critical resources. Minimize the number of critical bytes. Minimize the critical path length. A critical resource is a resource that can block initial rendering of a page. Source
  • 44.
  • 45.
  • 46.
  • 47.
  • 52. To reduce the load on the server, HTTP/1.1’s approach was to limit its TCP connections “A single-user client should not maintain more than 2 connections with any server or proxy.” In real life, browsers hold ~6 TCP connections simultaneously per origin.
  • 53. More Bandwidth Doesn’t Make a Big Difference An increase from 5Mbps to 10Mbps results in a disappointing 5% improvement in page load times. Source
  • 54. The water pipe example Bandwidth & Round-Trip Time
  • 55. PageLoadTime(ms) 0 800 1600 2400 3200 Bandwidth 1Mbps 2Mbps 3Mbps 4Mpbs 5Mbps 6Mbps 7Mbps 8Mbps 9Mbps 10Mbps Page Load Time as bandwidth increases Source
  • 56. Round-trip-times (RTT) have a bigger impact on performance, more than bandwidth does. Source
  • 57. Round-trip-times (RTT) have a bigger impact on performance, more than bandwidth does. Source
  • 58. PageLoadTime(ms) 0 800 1600 2400 3200 Bandwidth 1Mbps 2Mbps 3Mbps 4Mpbs 5Mbps 6Mbps 7Mbps 8Mbps 9Mbps 10Mbps PageLoadTime(ms) 0 1000 2000 3000 4000 RTT 240ms 220ms 200ms 180ms 160ms 140ms 120ms 100ms 80ms 60ms 40ms 20ms 0ms Page Load Time as bandwidth increases Page Load Time as latency decreases Source
  • 59. “HTTP2 produces the biggest performance gains on mobile bc it remedies high latency”
 — @patrickhamann #smashingconf
  • 60. PageLoadTime(ms) 0 1000 2000 3000 4000 RTT 240ms 220ms 200ms 180ms 160ms 140ms 120ms 100ms 80ms 60ms 40ms 20ms Page Load Time as latency decreases Source
  • 62. Multiplexing: allow concurrent requests across a single TCP connection; Allow browsers to prioritise assets so that vital resources of a page could are sent first; Compress and reduce HTTP headers; Server push: A server can push important resources to the browser before being asked for them.
  • 64. Networking protocol for low-latency transport of content over the web. Originally started out from the SPDY protocol, now standardised as HTTP version 2.
  • 65. • Multiplexing • Compressed headers • Asset Prioritisation & Dependencies • Server Push 
 (saves the time it takes the client to ask for the resources)
  • 66. HTTP/2 is backwards-compatible 
 with HTTP/1.1
  • 67. Building for Performance 
 with HTTP/2
  • 68. What do you need to enable HTTP/2?
  • 70. Google* uses secure connections as a ranking signal, and browsers are starting to flag non-h ps websites as ‘not secure’. Some HTML5 APIs will also require secure connections in the future (e.g. Geolocation). * Baidu Analytics includes a site speed section, so they might follow this trend in the future. Leveraging additional benefits of SSL
  • 73. Under HTTP/2, some of our current best practices might impact performance negatively. Let’s look at the new anti-pa erns.
  • 75. This was a workaround for the lack of parallelism in HTTP/1.x to reduce requests; Combining multiple files into one and fetch with one request. Need to wait of the entire file/response to arrive Concatenation of Files
  • 76. • Structure code to only deliver what’s needed • No need for additional build process steps • Optimise caching policies depending on change frequency of files New! Requests are cheap!
  • 77.
  • 78. Thanks to the new multiplexing ability of HTTP/2 resources don’t need to be queued anymore. Nevertheless, depending on the kind of image, and how they are used, spriting can still be the be er option in regards to compression and file size. Image Sprites
  • 79. Another workaround for the lack of parallelism in HTTP/1.x
 Besides increasing the file size of stylesheets etc., the resource can’t be cached and asset re-use will create unnecessary overhead Prioritisation features of HTTP/2 can’t be used Inline Images
  • 80. And one more workaround for the lack of multiplexing in HTTP/1.x Browsers can handle ~6 connections per origin, but domain sharding allows us to (theoretically) extend this to an unlimited amount of connections. Domain sharding will have a negative impact when used with HTTP/2. Domain Sharding Source !
  • 81. HTTP1.x HTTP2 Reduce DNS lookups ✓ ✓ Reuse TCP connections ✓ ✓ Use a Content Delivery Network ✓ ✓ Minimize number of HTTP redirects ✓ ✓ Eliminate unnecessary request bytes ✓ ✓ Compress assets during transfer ✓ ✓ Cache resources on the client ✓ ✓ Eliminate unnecessary resources ✓ ✓ Apply domain sharding Revisit (max 2) Remove Concatenate resources Careful & consider caching Remove Inline resources Careful & consider caching Remove (Server Push) Source
  • 82. Ge ing to HTTP/2
  • 83. Make the move to TLS & add a secure connection to your site
 (This can be done at any time and brings some additional benefits, even without HTTP/2) Make sure your server supports HTTP/2
 (Confirm with your hosting provider, roll your own or use a HTTP/2 supporting CDN service)
  • 84. Prepare your assets & adjust the build process for HTTP/2
 (Adjust to output the required files that best suit your needs and test your choices) Check Analytics & confirm your user’s browser support
 (This could affect users with older browsers negatively, and check for majority support) Implement your favourite HTTP/2 best practices and adjust your caching policies
 (Measure your performance before and a er the update and share your results with the world!!)
  • 85. ! Holger Bartel | @foobartel | FEDay, Guangzhou, China, 19/03/2016