SlideShare une entreprise Scribd logo
1  sur  93
From Fast to SPDY
Ido Safruti,
Mike Belshe,
SPDY
SPDYee
Agenda
 Challenges of HTTP/1.1
 SPDY
 Some data, and results
 How we tune today
 What’s next
rfc2616: HTTP/1.1
drafted:1998
released June 1999
What else was there in 1998
What else was there in 1998
What else was there in 1998
What else was there in 1998
What else was there in 1998
What else was there in 1998
What else was there in 1998
http://web.archive.org/web/19980425182703/http://geocities.com/
What else was there in 1998
4/25/1998
no external scripts or css files
20 images, ~65KB entire page
http://web.archive.org/web/19980425182703/http://geocities.com/
Did They Plan for That!?
HTTP/1.1
 Compression
 Headers
 Poor connection management
 Only one request can be done at a time (Half duplex)
 Particularly important on high latency links (mobile)
 short lived connections
 security - optional
Compression
* http://code.google.com/speed/articles/web-metrics.html + Cotendo measurements
Compression
Optional
Only for response body
~99% of browsers support
* http://code.google.com/speed/articles/web-metrics.html + Cotendo measurements
Compression
Optional
Only for response body
~99% of browsers support
Particularly important on small pipes (mobile)
* http://code.google.com/speed/articles/web-metrics.html + Cotendo measurements
Compression
Optional
Only for response body
~99% of browsers support
Particularly important on small pipes (mobile)
15%-30% of responses not compressed for no good reason!*
for SSL even worse
* http://code.google.com/speed/articles/web-metrics.html + Cotendo measurements
Compression
Optional
Only for response body
~99% of browsers support
Particularly important on small pipes (mobile)
15%-30% of responses not compressed for no good reason!*
for SSL even worse
no request compression
* http://code.google.com/speed/articles/web-metrics.html + Cotendo measurements
Compression
Optional
Only for response body
~99% of browsers support
Particularly important on small pipes (mobile)
15%-30% of responses not compressed for no good reason!*
for SSL even worse
no request compression
no header compression
* http://code.google.com/speed/articles/web-metrics.html + Cotendo measurements
Headers
 Redundant
 Repeat on EVERY request/response
 Can’t compress
 User-agent
 Cookies
HTTP Connection - under the hood
Client Server
HTTP Connection - under the hood
TCP Connect + Request = 1.5 RTT
TCP Connect + SSL Connect + Request = 3.5 RTT
Client Server
HTTP Connection - under the hood
TCP Connect + Request = 1.5 RTT
TCP Connect + SSL Connect + Request = 3.5 RTT
Client Server
HTTP Connection - under the hood
Request/Response = 0.5 RTT
TCP Connect + Request = 1.5 RTT
TCP Connect + SSL Connect + Request = 3.5 RTT
Client Server
HTTP Connection - under the hood
Request/Response = 0.5 RTT
TCP Connect + Request = 1.5 RTT
TCP Connect + SSL Connect + Request = 3.5 RTT
Client Server
}
HTTP Connection - under the hood
Request/Response = 0.5 RTT
TCP Connect + Request = 1.5 RTT
TCP Connect + SSL Connect + Request = 3.5 RTT
Client Server
}
}
HTTP Connection - under the hood
Request/Response = 0.5 RTT
TCP Connect + Request = 1.5 RTT
TCP Connect + SSL Connect + Request = 3.5 RTT
Client Server
}
}
Spun additional connections
HTTP Connection - under the hood
Request/Response = 0.5 RTT
TCP Connect + Request = 1.5 RTT
TCP Connect + SSL Connect + Request = 3.5 RTT
Slow Start - 30KB ~ 4 RTT (vs. 1 RTT warm)
Client Server
Spun additional connections
Global
US
Mobile - US
Mobile - EU
BW Mbps
1.9
5.1
1.1
~2
User Data:
average bandwidth
Source: State of the Internet, Q4 2010
http://www.akamai.com/stateoftheinternet/
User Data:
average RTT
Broadband
Coast-to-Coast
3G device-GW
RTT ms
30
100
80-200
“Lost” Capacity on each RTT
US Broadband: 63.7KB
US Mobile: 27.5KB
Average obj size 8.1KB
Source: HTTP Archive, 6/1/2011 data for Top 1,000
http://httparchive.org
http://desktopsecuritysoftwareguide.com/wp-content/uploads/2010/04/Padlock.jpg
Security is optional
Enters SPDY!
Requirements
 Avoid requiring the website author to change content
Allow for incremental changes
Performing "better" with content changes is okay
Performing "worse" without content changes is unacceptable
 Perform always better, never worse than HTTP
 Drop-in replacement from webapp's point of view
 Changing the web server/application server is inevitable and therefore
acceptable
What is SPDY?
 Goal: Reduce Web Page Load time.
 Multiplexing
 Better utilize client connections
 Compression
 HTTP headers are excessive
 Uplink bandwidth is limited
 Prioritization
 Today the browser holds back
 Priorities enable multiplexing
 Encrypted & Authenticated
 Eavesdropping at the Cafe must be stopped
 Server Push
 Websites do some of this today with data URLs
Deployment Status
Deployment Status
 Google
 Enabled for all Google SSL traffic
 On by default since Chrome 6
Deployment Status
 Google
 Enabled for all Google SSL traffic
 On by default since Chrome 6
 CDNs/Service providers:
 Cotendo
Deployment Status
 Google
 Enabled for all Google SSL traffic
 On by default since Chrome 6
 CDNs/Service providers:
 Cotendo
 Server implementations:
 Strangeloop
 SPDY Proxy available
 Others: C++, Python, Ruby, Go
Deployment Status
 Google
 Enabled for all Google SSL traffic
 On by default since Chrome 6
 CDNs/Service providers:
 Cotendo
 Server implementations:
 Strangeloop
 SPDY Proxy available
 Others: C++, Python, Ruby, Go
 Client implementation
 Chrome
 Android coming...
Results
Yahoo! Homepage, over broadband network
Yahoo! homepage
HTTP
Broadband
RTT = 20ms
Page Load: 1.23sec
Yahoo! homepage
SPDY
(via Cotendo)
Broadband
RTT = 20ms
Page Load: 1.21sec
-2%
Amazon.com Homepage, over 3G network
Page Load: 12.50sec
Amazon.com Homepage
HTTP
3G,AT&T
RTT = 200+ms
Amazon.com Homepage
SPDY
(via Cotendo)
3G AT&T
RTT = 200+ms
Page Load: 6.26sec
-49%
HTTPS vs SPDY (Production)
Increasing Parallelism
Less is More - Conns, Bytes, Packets
Not Too Shabby WebSockets
 docs.google.com has a "hanging get" for every doc open
 how to scale beyond 6 connections per domain?
 docs[1-N].google.com
 gets expensive, complicated, and is horribly inefficient
 SPDY is easy, works great, efficient
 Header compression mitigates the inefficiency of a hanging GET
Can't We Address Latency & Security Separately?
Can't We Address Latency & Security Separately?
No.
Can't We Address Latency & Security Separately?
 If eavesdropping in the cafe is still possible in 2020 with trivial tools, we have
failed our users.
 Security is not just for banks!
 Social/Mail/Content is a major target
 example: Comodo attack
 Firesheep tools make sniffing easy
 Major content providers want privacy
 Facebook opt-in
 Twitter opt-in
 Google working toward 100%
How we tune today
High Performance Web Sites
1.Make fewer HTTP requests
2.Use CDN
3.Add expires header
4.Gzip Components
5.Put stylesheets at the top
6.Put scripts at the bottom
7.Avoid CSS expressions
8.Make JS and CSS external
9.Reduce DNS lookups
10.Minify JS
11.Avoid redirects
12.Remove duplicate scripts
13.Configure Etags
14.Make Ajax cacheable
15.Sharding domains
High Performance Web Sites
1.Make fewer HTTP requests
2.Use CDN
3.Add expires header
4.Gzip Components
5.Put stylesheets at the top
6.Put scripts at the bottom
7.Avoid CSS expressions
8.Make JS and CSS external
9.Reduce DNS lookups
10.Minify JS
11.Avoid redirects
12.Remove duplicate scripts
13.Configure Etags
14.Make Ajax cacheable
15.Sharding domains
Due To
HTTP
Lim
itations!
Firetruck
Domain Sharding
Domain Sharding
 Pros:
 Parallelism in HTTP
 Cookieless domains for static content
Domain Sharding
 Pros:
 Parallelism in HTTP
 Cookieless domains for static content
Domain Sharding
 Pros:
 Parallelism in HTTP
 Cookieless domains for static content
 Cons:
 DNS time
 Connection establishment overhead
 TCP slowstart / warmup
 SSL
 maintaining many connections
 user cache
 Prevents browser optimizations
Reduce number of requests
 Inlining
 Spriting
 Data URLs
 Combining javascripts and CSS files
 Cons:
 reduced cache efficiency
 Complicated
New Class of FEO
Rethink your optimizations
 As rules change, your need to re-evaluate your best practices
 13 years is a long time! start at the beginning...
 But also presents many new opportunities
 Delivery priorities
 Smart Push
 Simple web code
 Automate!
Image Compression
HTML
6.5
Scripts
13.0
Stylesheets
3.5
Images
55.0
Other
7.0
HTML
32
Scripts
119
Stylesheets
25
Images
415
Other
99
Number of Requests Transfer Size in KB
Source: http://httparchive.org/trends.php?s=Top1000
In mobile even stronger!
HTML
42
Scripts
80
Stilesheets
20
Images
228
Other
6
HTML
4
Scripts
7
Stilesheets
2
Images
31
Other
2
Number of Requests Transfer Size in KB
Source: http://mobile.httparchive.org/trends.php?s=Top1000
Lossy compression is the way to go!
Billy Hoffman / Zoompf
AP Photo/John Bazemore
http://www.flickr.com/photos/tracy_olson/61056391/
Lossy-Compression is
Not for Everything
Progressive image compression
http://images.sixrevisions.com/2010/12/01-02_baseline_vs_progressive.jpg
Client Server
Client Server
Get HTML
Client Server
Client Server
Get all objects
20%
Client Server
20%20% 20%20%
Client Server
80% 80%80% 80%80%
Summary
 SPDY actually delivers!
 SPDY actually delivers!
 but we are still in the early phases
 SPDY actually delivers!
 but we are still in the early phases
 participate and be part of the solution
 SPDY actually delivers!
 but we are still in the early phases
 participate and be part of the solution
 SPDY actually delivers!
 but we are still in the early phases
 participate and be part of the solution
 Rules CAN be broken. Changes are possible!
 SPDY actually delivers!
 but we are still in the early phases
 participate and be part of the solution
 Rules CAN be broken. Changes are possible!
 HTTP is built into the internet architecture, it can’t be changed.
 SPDY actually delivers!
 but we are still in the early phases
 participate and be part of the solution
 Rules CAN be broken. Changes are possible!
 HTTP is built into the internet architecture, it can’t be changed.
 What’s next?
 SPDY actually delivers!
 but we are still in the early phases
 participate and be part of the solution
 Rules CAN be broken. Changes are possible!
 HTTP is built into the internet architecture, it can’t be changed.
 What’s next?
 SPDY actually delivers!
 but we are still in the early phases
 participate and be part of the solution
 Rules CAN be broken. Changes are possible!
 HTTP is built into the internet architecture, it can’t be changed.
 What’s next?
 Opens the door to implement new class of optimizations
 SPDY actually delivers!
 but we are still in the early phases
 participate and be part of the solution
 Rules CAN be broken. Changes are possible!
 HTTP is built into the internet architecture, it can’t be changed.
 What’s next?
 Opens the door to implement new class of optimizations
 SPDY actually delivers!
 but we are still in the early phases
 participate and be part of the solution
 Rules CAN be broken. Changes are possible!
 HTTP is built into the internet architecture, it can’t be changed.
 What’s next?
 Opens the door to implement new class of optimizations
 Get engaged NOW!
Measurement - Proving us Right
 No 3rd party tools (yet)!
 Chrome developer tools
 not good for large scale data...
 w3c Web Performance tools - Navigation Timing
 Supported on IE9, and Chrome 11+
 http://w3c-test.org/webperf/specs/NavigationTiming/
 Site metrics:
 Google Analytics
Ido Safruti, ido@cotendo.com
Mike Belshe, mbelshe@google.com

Contenu connexe

Dernier

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Dernier (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

En vedette

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

En vedette (20)

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 

From Fast to SPDY - Velocity 2011

  • 1. From Fast to SPDY Ido Safruti, Mike Belshe,
  • 4. Agenda  Challenges of HTTP/1.1  SPDY  Some data, and results  How we tune today  What’s next
  • 6. What else was there in 1998
  • 7. What else was there in 1998
  • 8. What else was there in 1998
  • 9. What else was there in 1998
  • 10. What else was there in 1998
  • 11. What else was there in 1998
  • 12. What else was there in 1998 http://web.archive.org/web/19980425182703/http://geocities.com/
  • 13. What else was there in 1998 4/25/1998 no external scripts or css files 20 images, ~65KB entire page http://web.archive.org/web/19980425182703/http://geocities.com/
  • 14. Did They Plan for That!?
  • 15. HTTP/1.1  Compression  Headers  Poor connection management  Only one request can be done at a time (Half duplex)  Particularly important on high latency links (mobile)  short lived connections  security - optional
  • 17. Compression Optional Only for response body ~99% of browsers support * http://code.google.com/speed/articles/web-metrics.html + Cotendo measurements
  • 18. Compression Optional Only for response body ~99% of browsers support Particularly important on small pipes (mobile) * http://code.google.com/speed/articles/web-metrics.html + Cotendo measurements
  • 19. Compression Optional Only for response body ~99% of browsers support Particularly important on small pipes (mobile) 15%-30% of responses not compressed for no good reason!* for SSL even worse * http://code.google.com/speed/articles/web-metrics.html + Cotendo measurements
  • 20. Compression Optional Only for response body ~99% of browsers support Particularly important on small pipes (mobile) 15%-30% of responses not compressed for no good reason!* for SSL even worse no request compression * http://code.google.com/speed/articles/web-metrics.html + Cotendo measurements
  • 21. Compression Optional Only for response body ~99% of browsers support Particularly important on small pipes (mobile) 15%-30% of responses not compressed for no good reason!* for SSL even worse no request compression no header compression * http://code.google.com/speed/articles/web-metrics.html + Cotendo measurements
  • 22. Headers  Redundant  Repeat on EVERY request/response  Can’t compress  User-agent  Cookies
  • 23. HTTP Connection - under the hood Client Server
  • 24. HTTP Connection - under the hood TCP Connect + Request = 1.5 RTT TCP Connect + SSL Connect + Request = 3.5 RTT Client Server
  • 25. HTTP Connection - under the hood TCP Connect + Request = 1.5 RTT TCP Connect + SSL Connect + Request = 3.5 RTT Client Server
  • 26. HTTP Connection - under the hood Request/Response = 0.5 RTT TCP Connect + Request = 1.5 RTT TCP Connect + SSL Connect + Request = 3.5 RTT Client Server
  • 27. HTTP Connection - under the hood Request/Response = 0.5 RTT TCP Connect + Request = 1.5 RTT TCP Connect + SSL Connect + Request = 3.5 RTT Client Server }
  • 28. HTTP Connection - under the hood Request/Response = 0.5 RTT TCP Connect + Request = 1.5 RTT TCP Connect + SSL Connect + Request = 3.5 RTT Client Server } }
  • 29. HTTP Connection - under the hood Request/Response = 0.5 RTT TCP Connect + Request = 1.5 RTT TCP Connect + SSL Connect + Request = 3.5 RTT Client Server } } Spun additional connections
  • 30. HTTP Connection - under the hood Request/Response = 0.5 RTT TCP Connect + Request = 1.5 RTT TCP Connect + SSL Connect + Request = 3.5 RTT Slow Start - 30KB ~ 4 RTT (vs. 1 RTT warm) Client Server Spun additional connections
  • 31. Global US Mobile - US Mobile - EU BW Mbps 1.9 5.1 1.1 ~2 User Data: average bandwidth Source: State of the Internet, Q4 2010 http://www.akamai.com/stateoftheinternet/ User Data: average RTT Broadband Coast-to-Coast 3G device-GW RTT ms 30 100 80-200 “Lost” Capacity on each RTT US Broadband: 63.7KB US Mobile: 27.5KB Average obj size 8.1KB Source: HTTP Archive, 6/1/2011 data for Top 1,000 http://httparchive.org
  • 34. Requirements  Avoid requiring the website author to change content Allow for incremental changes Performing "better" with content changes is okay Performing "worse" without content changes is unacceptable  Perform always better, never worse than HTTP  Drop-in replacement from webapp's point of view  Changing the web server/application server is inevitable and therefore acceptable
  • 35. What is SPDY?  Goal: Reduce Web Page Load time.  Multiplexing  Better utilize client connections  Compression  HTTP headers are excessive  Uplink bandwidth is limited  Prioritization  Today the browser holds back  Priorities enable multiplexing  Encrypted & Authenticated  Eavesdropping at the Cafe must be stopped  Server Push  Websites do some of this today with data URLs
  • 37. Deployment Status  Google  Enabled for all Google SSL traffic  On by default since Chrome 6
  • 38. Deployment Status  Google  Enabled for all Google SSL traffic  On by default since Chrome 6  CDNs/Service providers:  Cotendo
  • 39. Deployment Status  Google  Enabled for all Google SSL traffic  On by default since Chrome 6  CDNs/Service providers:  Cotendo  Server implementations:  Strangeloop  SPDY Proxy available  Others: C++, Python, Ruby, Go
  • 40. Deployment Status  Google  Enabled for all Google SSL traffic  On by default since Chrome 6  CDNs/Service providers:  Cotendo  Server implementations:  Strangeloop  SPDY Proxy available  Others: C++, Python, Ruby, Go  Client implementation  Chrome  Android coming...
  • 42. Yahoo! Homepage, over broadband network
  • 43. Yahoo! homepage HTTP Broadband RTT = 20ms Page Load: 1.23sec
  • 44. Yahoo! homepage SPDY (via Cotendo) Broadband RTT = 20ms Page Load: 1.21sec -2%
  • 46. Page Load: 12.50sec Amazon.com Homepage HTTP 3G,AT&T RTT = 200+ms
  • 47. Amazon.com Homepage SPDY (via Cotendo) 3G AT&T RTT = 200+ms Page Load: 6.26sec -49%
  • 48. HTTPS vs SPDY (Production)
  • 50. Less is More - Conns, Bytes, Packets
  • 51. Not Too Shabby WebSockets  docs.google.com has a "hanging get" for every doc open  how to scale beyond 6 connections per domain?  docs[1-N].google.com  gets expensive, complicated, and is horribly inefficient  SPDY is easy, works great, efficient  Header compression mitigates the inefficiency of a hanging GET
  • 52. Can't We Address Latency & Security Separately?
  • 53. Can't We Address Latency & Security Separately? No.
  • 54. Can't We Address Latency & Security Separately?  If eavesdropping in the cafe is still possible in 2020 with trivial tools, we have failed our users.  Security is not just for banks!  Social/Mail/Content is a major target  example: Comodo attack  Firesheep tools make sniffing easy  Major content providers want privacy  Facebook opt-in  Twitter opt-in  Google working toward 100%
  • 55. How we tune today
  • 56. High Performance Web Sites 1.Make fewer HTTP requests 2.Use CDN 3.Add expires header 4.Gzip Components 5.Put stylesheets at the top 6.Put scripts at the bottom 7.Avoid CSS expressions 8.Make JS and CSS external 9.Reduce DNS lookups 10.Minify JS 11.Avoid redirects 12.Remove duplicate scripts 13.Configure Etags 14.Make Ajax cacheable 15.Sharding domains
  • 57. High Performance Web Sites 1.Make fewer HTTP requests 2.Use CDN 3.Add expires header 4.Gzip Components 5.Put stylesheets at the top 6.Put scripts at the bottom 7.Avoid CSS expressions 8.Make JS and CSS external 9.Reduce DNS lookups 10.Minify JS 11.Avoid redirects 12.Remove duplicate scripts 13.Configure Etags 14.Make Ajax cacheable 15.Sharding domains Due To HTTP Lim itations!
  • 60. Domain Sharding  Pros:  Parallelism in HTTP  Cookieless domains for static content
  • 61. Domain Sharding  Pros:  Parallelism in HTTP  Cookieless domains for static content
  • 62. Domain Sharding  Pros:  Parallelism in HTTP  Cookieless domains for static content  Cons:  DNS time  Connection establishment overhead  TCP slowstart / warmup  SSL  maintaining many connections  user cache  Prevents browser optimizations
  • 63. Reduce number of requests  Inlining  Spriting  Data URLs  Combining javascripts and CSS files  Cons:  reduced cache efficiency  Complicated
  • 65. Rethink your optimizations  As rules change, your need to re-evaluate your best practices  13 years is a long time! start at the beginning...  But also presents many new opportunities  Delivery priorities  Smart Push  Simple web code  Automate!
  • 67. In mobile even stronger! HTML 42 Scripts 80 Stilesheets 20 Images 228 Other 6 HTML 4 Scripts 7 Stilesheets 2 Images 31 Other 2 Number of Requests Transfer Size in KB Source: http://mobile.httparchive.org/trends.php?s=Top1000
  • 68. Lossy compression is the way to go! Billy Hoffman / Zoompf AP Photo/John Bazemore
  • 77.
  • 78.
  • 80.
  • 81.  SPDY actually delivers!
  • 82.  SPDY actually delivers!  but we are still in the early phases
  • 83.  SPDY actually delivers!  but we are still in the early phases  participate and be part of the solution
  • 84.  SPDY actually delivers!  but we are still in the early phases  participate and be part of the solution
  • 85.  SPDY actually delivers!  but we are still in the early phases  participate and be part of the solution  Rules CAN be broken. Changes are possible!
  • 86.  SPDY actually delivers!  but we are still in the early phases  participate and be part of the solution  Rules CAN be broken. Changes are possible!  HTTP is built into the internet architecture, it can’t be changed.
  • 87.  SPDY actually delivers!  but we are still in the early phases  participate and be part of the solution  Rules CAN be broken. Changes are possible!  HTTP is built into the internet architecture, it can’t be changed.  What’s next?
  • 88.  SPDY actually delivers!  but we are still in the early phases  participate and be part of the solution  Rules CAN be broken. Changes are possible!  HTTP is built into the internet architecture, it can’t be changed.  What’s next?
  • 89.  SPDY actually delivers!  but we are still in the early phases  participate and be part of the solution  Rules CAN be broken. Changes are possible!  HTTP is built into the internet architecture, it can’t be changed.  What’s next?  Opens the door to implement new class of optimizations
  • 90.  SPDY actually delivers!  but we are still in the early phases  participate and be part of the solution  Rules CAN be broken. Changes are possible!  HTTP is built into the internet architecture, it can’t be changed.  What’s next?  Opens the door to implement new class of optimizations
  • 91.  SPDY actually delivers!  but we are still in the early phases  participate and be part of the solution  Rules CAN be broken. Changes are possible!  HTTP is built into the internet architecture, it can’t be changed.  What’s next?  Opens the door to implement new class of optimizations  Get engaged NOW!
  • 92. Measurement - Proving us Right  No 3rd party tools (yet)!  Chrome developer tools  not good for large scale data...  w3c Web Performance tools - Navigation Timing  Supported on IE9, and Chrome 11+  http://w3c-test.org/webperf/specs/NavigationTiming/  Site metrics:  Google Analytics
  • 93. Ido Safruti, ido@cotendo.com Mike Belshe, mbelshe@google.com