SlideShare a Scribd company logo
1 of 37
Download to read offline
Performance Testing HTTP/3 (QUIC)
by SCOTT MOORE
Agenda
•HTTP/3 (QUIC) Timeline
•HTTP/3 Technical Breakdown
•HTTP/3 Challenges
•Demo
•Test Results and Findings
•Q&A
2
HTTP/3 TIMELINE
HTTP/2 AdptionRate
Source: HTTP/2 Adoption Dashboard (maintained by Telefónica Research, Case Western Reserve University,
and Carnegie Mellon University
HTTP/3 Timeline
• 2014 - Google deploys HTTP/2 over UDP. Calls it “QUIC”.
• November 2016 - Google takes QUIC to IETF. QUIC working group forms. Turned
into a Transport protocol.
• June 2018 - Google implements custom QUIC.
• November 2018
• Litespeed and Facebook test first functional HTTP/3 web server
• IETF changes the name for HTTP-over-QUIC to be HTTP/3
• April 2019 - Cloudflare releases Warp VPN based on QUIC draft
• July 2019 - HTTP/3 Draft expires at IETF
• August 2019 - Chromium fork released. Initial support for end-to-end iQUIC +
HTTP/3
• September 2019 - cURL, NGINX, Google Chrome show early HTTP/3 support
6
HTTP/2 Connection Versus HTTP 1.1
7
Image Source: Cloudflare
HTTP/3 ConnectionVersus HTTP/2
8
Image Source: Medium
WAIT....
Wasn't HTTP/2 multiplexing supposed to solve Head of Line Blocking?
HTTP level = YES. TCP level = NO.
Latency and Dropped Packets Expose This Problem.
QUIC is an attempt to fix it all once and for all...
HTTP/3 Stack
10
Image Source: Kinsta
TLS 1.3
1.2+
QLOG
11
• Log for QUIC and HTTP/3 events
• JSON Format
• Allows for debugging and visualization for QUIC streams
• Still being stanndardized
Image Source: Robin Marx
HTTP/3 Challenges
Challenges To Testing
•Lack of Support
•Draft code still has debugging (slower)
•Few Web Server Choices:
•LiteSpeed Enterprise (-not- OpenLiteSpeed)
•Caddy Server (VERY NEW)
•Cloudfare does not support it (yet)
13
Challenges forHTTP/3
•+/- 5% QUIC connections fail
•CPU Intensive - Requires 2X or more servers
•UDP on port 443 is blocked
•UDP is not as optimized as TCP
•No standard API for QUIC (yet)
14
HTTP/3 Tools
“Tools? Where we're going, we don't need tools.”
15
Tools
• cURL (after September 11, 2019)
• HTTP3 Check (http3check.net)
• QLog visualization tool (quicvis.edm.uhasselt.be/#/files)
• Browser Dev Tools
• Apposite Netropy
• Node JS and Puppeteer (??)
• Neotys Neoload
16
Current IETF QUIC Implementations
•AIOQUIC - Python
•lsquic - C - LiteSpeed
•ngtcp2 - C - open source effort
•QUICHE - RUST - Cloudflare
•Quiche - Google (because naming is hard)
•mvfst - C++ - Facebook
https://github.com/quicwg/base-drafts/wiki/Implementations
17
Demo - Test Results
The Mission
• Using a realistic web site,
compare:
• HTTP 1.1
• HTTP/2
• HTTP/3 (QUIC)
• Cloudflare/No Cloudflare
• Netropy Proxy
Determine:
• Is Head of Line Blocking gone?
20
https://loadtesthttp3.com
“I apologizefor the crudityofthis model...”
• Set up and configure cloud server instance (Ubuntu 18.04)
• Seperate Database (MySQL 8 on AWS RDS service)
• Litespeed web server with PHP 7.3
• Wordpress with custom theme
• Setup Domain, Email, and Cloudflare DNS/Caching
• Set up Network Emulation (Netropy Proxy)
• Baseline with GTMetrix, Web Page Test, Chrome DevTools
• Run up to 50 virtual users with NeoLoad
21
Chrome Waterfalls
22
HTTP 1.1 - 4.6 sec HTTP 2 - 0.5 sec H2 QUIC - 2.5 sec
Test Results - HTTP 1.1- No Network Emulation
23
Test Results - HTTP 2- No Network Emulation
24
Test Results - QUIC - No Network Emulationor Cloudflare
25
AddNetwork Emulation- LTE
26
AddNetwork Emulation- Satellite
27
Test Results - HTTP 1 -WITH Network Emulation LTE
28
Test Results - HTTP 1 -WITH Network Emulation - Satellite
29
Test Results - HTTP 2- WITH Network Emulation- LTE
30
Test Results - HTTP 2- WITH Network Emulation- Satellite
31
Test Results - QUIC - WITH Network Emulation- LTE
32
Test Results - QUIC - WITH Network Emulation- Satellite
33
Summary
• It SEEMS to remove HTTP HOL - but...
• Requires more server CPU/Memory
• Low Bandwidth situations benefit the most
• Will need to be tested as the spec evolves
• Test Cases Should include
Network Emulation
• TCP transition to UPD will be slow
• UDP will need to be optimized
• Additional protocols will come (i.e. DNS)
34
Who To Follow
• Robin Marx - @programmingart
• Daniel Stenberg (cURL) - @bagder
• Lucas Pardue - @SimmerVigor
• Barry Pollard - @tunetheweb
• Cloudflare
• LiteSpeed
• IETF
• Scott Moore - @loadtester
• Apposite Technologies - @Apposite_Tech
35
References
• CURL HTTP/3 library - https://github.com/curl/curl/blob/master/docs/HTTP3.md
• AIOQUIC - Python implementation. https://github.com/aiortc/aioquic.
• Cloudflare QUIC site: https://cloudflare-quic.com/
• QUIC Working group (IETF): https://quicwg.org/
• QLog visualization tool: https://quicvis.edm.uhasselt.be/#/files
• QUIC implementations: https://github.com/quicwg/base-drafts/wiki/Implementations
• HTTP/3 Verification Check (from LiteSpeed) - https://http3check.net/
36
http://scottmoore.consulting
help@scottmoore.consulting
Questionsand Contact

More Related Content

What's hot

NaaS in OpenStack - CloudCamp Moscow
NaaS in OpenStack - CloudCamp MoscowNaaS in OpenStack - CloudCamp Moscow
NaaS in OpenStack - CloudCamp Moscow
Ilya Alekseyev
 

What's hot (20)

ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack NetworkingONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
 
Sfo15 408- odp-dpdk platform performance
Sfo15 408- odp-dpdk platform performanceSfo15 408- odp-dpdk platform performance
Sfo15 408- odp-dpdk platform performance
 
OpenContrail Cloudwatt Feedback
OpenContrail Cloudwatt FeedbackOpenContrail Cloudwatt Feedback
OpenContrail Cloudwatt Feedback
 
rtnetlink
rtnetlinkrtnetlink
rtnetlink
 
Deep dive networking
Deep dive networkingDeep dive networking
Deep dive networking
 
Deploying OpenDaylight and OpenStack at Ease
Deploying OpenDaylight and OpenStack at EaseDeploying OpenDaylight and OpenStack at Ease
Deploying OpenDaylight and OpenStack at Ease
 
Neutron upgrades
Neutron upgradesNeutron upgrades
Neutron upgrades
 
Meetup 23 - 02 - OVN - The future of networking in OpenStack
Meetup 23 - 02 - OVN - The future of networking in OpenStackMeetup 23 - 02 - OVN - The future of networking in OpenStack
Meetup 23 - 02 - OVN - The future of networking in OpenStack
 
Neutron high availability open stack architecture openstack israel event 2015
Neutron high availability  open stack architecture   openstack israel event 2015Neutron high availability  open stack architecture   openstack israel event 2015
Neutron high availability open stack architecture openstack israel event 2015
 
Improving Network Application Performance using Load Aware Libeventdev
Improving Network Application Performance using Load Aware LibeventdevImproving Network Application Performance using Load Aware Libeventdev
Improving Network Application Performance using Load Aware Libeventdev
 
Troubleshooting Tracebacks
Troubleshooting TracebacksTroubleshooting Tracebacks
Troubleshooting Tracebacks
 
TechWiseTV Open NX-OS Workshop
TechWiseTV  Open NX-OS WorkshopTechWiseTV  Open NX-OS Workshop
TechWiseTV Open NX-OS Workshop
 
Opensource approach to design and deployment of Microservices based VNF
Opensource approach to design and deployment of Microservices based VNFOpensource approach to design and deployment of Microservices based VNF
Opensource approach to design and deployment of Microservices based VNF
 
OVN: Scaleable Virtual Networking for Open vSwitch
OVN: Scaleable Virtual Networking for Open vSwitchOVN: Scaleable Virtual Networking for Open vSwitch
OVN: Scaleable Virtual Networking for Open vSwitch
 
OpenStack Neutron's Distributed Virtual Router
OpenStack Neutron's Distributed Virtual RouterOpenStack Neutron's Distributed Virtual Router
OpenStack Neutron's Distributed Virtual Router
 
TechWiseTV Workshop: Open NX-OS and Devops with Puppet Labs
TechWiseTV Workshop: Open NX-OS and Devops with Puppet LabsTechWiseTV Workshop: Open NX-OS and Devops with Puppet Labs
TechWiseTV Workshop: Open NX-OS and Devops with Puppet Labs
 
Quantum (OpenStack Meetup Feb 9th, 2012)
Quantum (OpenStack Meetup Feb 9th, 2012)Quantum (OpenStack Meetup Feb 9th, 2012)
Quantum (OpenStack Meetup Feb 9th, 2012)
 
NaaS in OpenStack - CloudCamp Moscow
NaaS in OpenStack - CloudCamp MoscowNaaS in OpenStack - CloudCamp Moscow
NaaS in OpenStack - CloudCamp Moscow
 
Neutron DVR
Neutron DVRNeutron DVR
Neutron DVR
 
Automating linux network performance testing
Automating linux network performance testingAutomating linux network performance testing
Automating linux network performance testing
 

Similar to PAC 2019 virtual Scott Moore

Implementation ans analysis_of_quic_for_mqtt
Implementation ans analysis_of_quic_for_mqttImplementation ans analysis_of_quic_for_mqtt
Implementation ans analysis_of_quic_for_mqtt
Puneet Kumar
 

Similar to PAC 2019 virtual Scott Moore (20)

A new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUIC
A new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUICA new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUIC
A new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUIC
 
QUIC
QUICQUIC
QUIC
 
Google QUIC
Google QUICGoogle QUIC
Google QUIC
 
WUG Days 2022 Brno - Networking in .NET 7.0 and YARP -- Karel Zikmund
WUG Days 2022 Brno - Networking in .NET 7.0 and YARP -- Karel ZikmundWUG Days 2022 Brno - Networking in .NET 7.0 and YARP -- Karel Zikmund
WUG Days 2022 Brno - Networking in .NET 7.0 and YARP -- Karel Zikmund
 
.NET Conf 2022 - Networking in .NET 7
.NET Conf 2022 - Networking in .NET 7.NET Conf 2022 - Networking in .NET 7
.NET Conf 2022 - Networking in .NET 7
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2
 
Introduction to WebSockets
Introduction to WebSocketsIntroduction to WebSockets
Introduction to WebSockets
 
Coap based application for android phones
Coap based application for android phonesCoap based application for android phones
Coap based application for android phones
 
HTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 era
HTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 eraHTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 era
HTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 era
 
A Quick Look at QUIC, presentation for RIPE 85 by Geoff Huston.pdf
A Quick Look at QUIC, presentation for RIPE 85 by Geoff Huston.pdfA Quick Look at QUIC, presentation for RIPE 85 by Geoff Huston.pdf
A Quick Look at QUIC, presentation for RIPE 85 by Geoff Huston.pdf
 
HTTP/3
HTTP/3HTTP/3
HTTP/3
 
SaltConf14 - Eric johnson, Google - Orchestrating Google Compute Engine with ...
SaltConf14 - Eric johnson, Google - Orchestrating Google Compute Engine with ...SaltConf14 - Eric johnson, Google - Orchestrating Google Compute Engine with ...
SaltConf14 - Eric johnson, Google - Orchestrating Google Compute Engine with ...
 
Juglouvain http revisited
Juglouvain http revisitedJuglouvain http revisited
Juglouvain http revisited
 
Introduction to QUIC
Introduction to QUICIntroduction to QUIC
Introduction to QUIC
 
2018 10-31 modern-http_routing-lisa18
2018 10-31 modern-http_routing-lisa182018 10-31 modern-http_routing-lisa18
2018 10-31 modern-http_routing-lisa18
 
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the WebCleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
 
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
 
SDN Presentation
SDN PresentationSDN Presentation
SDN Presentation
 
Implementation ans analysis_of_quic_for_mqtt
Implementation ans analysis_of_quic_for_mqttImplementation ans analysis_of_quic_for_mqtt
Implementation ans analysis_of_quic_for_mqtt
 
2017_IMC_QUIC.pptx
2017_IMC_QUIC.pptx2017_IMC_QUIC.pptx
2017_IMC_QUIC.pptx
 

More from Neotys

More from Neotys (20)

PAC 2020 Santorin - Giovanni Paolo Gibilisco
PAC 2020 Santorin - Giovanni Paolo GibiliscoPAC 2020 Santorin - Giovanni Paolo Gibilisco
PAC 2020 Santorin - Giovanni Paolo Gibilisco
 
PAC 2020 Santorin - Stijn Schepers
PAC 2020 Santorin - Stijn SchepersPAC 2020 Santorin - Stijn Schepers
PAC 2020 Santorin - Stijn Schepers
 
PAC 2020 Santorin - Edoardo Varani
PAC 2020 Santorin - Edoardo VaraniPAC 2020 Santorin - Edoardo Varani
PAC 2020 Santorin - Edoardo Varani
 
PAC 2020 Santorin - Andreas Grabner
PAC 2020 Santorin - Andreas Grabner PAC 2020 Santorin - Andreas Grabner
PAC 2020 Santorin - Andreas Grabner
 
PAC 2020 Santorin - Vasilis Chatzinasios
PAC 2020 Santorin - Vasilis ChatzinasiosPAC 2020 Santorin - Vasilis Chatzinasios
PAC 2020 Santorin - Vasilis Chatzinasios
 
PAC 2020 Santorin - Gopalkrishnan Yadav
PAC 2020 Santorin - Gopalkrishnan YadavPAC 2020 Santorin - Gopalkrishnan Yadav
PAC 2020 Santorin - Gopalkrishnan Yadav
 
PAC 2020 Santorin - Hari Krishnan Ramachandran
PAC 2020 Santorin - Hari Krishnan RamachandranPAC 2020 Santorin - Hari Krishnan Ramachandran
PAC 2020 Santorin - Hari Krishnan Ramachandran
 
PAC 2020 Santorin - Joerek Van Gaalen
PAC 2020 Santorin - Joerek Van GaalenPAC 2020 Santorin - Joerek Van Gaalen
PAC 2020 Santorin - Joerek Van Gaalen
 
PAC 2020 Santorin - Ankur Jain
PAC 2020 Santorin - Ankur JainPAC 2020 Santorin - Ankur Jain
PAC 2020 Santorin - Ankur Jain
 
PAC 2020 Santorin - Stephen Townshend
PAC 2020 Santorin - Stephen TownshendPAC 2020 Santorin - Stephen Townshend
PAC 2020 Santorin - Stephen Townshend
 
PAC 2020 Santorin - Leandro Melendez
PAC 2020 Santorin - Leandro MelendezPAC 2020 Santorin - Leandro Melendez
PAC 2020 Santorin - Leandro Melendez
 
PAC 2019 virtual Stephen Townshend
PAC 2019 virtual Stephen TownshendPAC 2019 virtual Stephen Townshend
PAC 2019 virtual Stephen Townshend
 
PAC 2019 virtual Federico Toledo
PAC 2019 virtual Federico Toledo   PAC 2019 virtual Federico Toledo
PAC 2019 virtual Federico Toledo
 
PAC 2019 virtual Leandro Melendez
PAC 2019 virtual Leandro Melendez PAC 2019 virtual Leandro Melendez
PAC 2019 virtual Leandro Melendez
 
PAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark TomlinsonPAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark Tomlinson
 
PAC 2019 virtual Srivalli Aparna
PAC 2019 virtual Srivalli AparnaPAC 2019 virtual Srivalli Aparna
PAC 2019 virtual Srivalli Aparna
 
PAC 2019 virtual Reuben Rajan George
PAC 2019 virtual Reuben Rajan GeorgePAC 2019 virtual Reuben Rajan George
PAC 2019 virtual Reuben Rajan George
 
PAC 2019 virtual Joerek Van Gaalen
PAC 2019 virtual Joerek Van GaalenPAC 2019 virtual Joerek Van Gaalen
PAC 2019 virtual Joerek Van Gaalen
 
PAC 2019 virtual Hemalatha Murugesan
PAC 2019 virtual Hemalatha Murugesan  PAC 2019 virtual Hemalatha Murugesan
PAC 2019 virtual Hemalatha Murugesan
 
PAC 2019 virtual Bruno Audoux
PAC 2019 virtual Bruno Audoux PAC 2019 virtual Bruno Audoux
PAC 2019 virtual Bruno Audoux
 

Recently uploaded

VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 

PAC 2019 virtual Scott Moore

  • 1. Performance Testing HTTP/3 (QUIC) by SCOTT MOORE
  • 2. Agenda •HTTP/3 (QUIC) Timeline •HTTP/3 Technical Breakdown •HTTP/3 Challenges •Demo •Test Results and Findings •Q&A 2
  • 3.
  • 5. HTTP/2 AdptionRate Source: HTTP/2 Adoption Dashboard (maintained by Telefónica Research, Case Western Reserve University, and Carnegie Mellon University
  • 6. HTTP/3 Timeline • 2014 - Google deploys HTTP/2 over UDP. Calls it “QUIC”. • November 2016 - Google takes QUIC to IETF. QUIC working group forms. Turned into a Transport protocol. • June 2018 - Google implements custom QUIC. • November 2018 • Litespeed and Facebook test first functional HTTP/3 web server • IETF changes the name for HTTP-over-QUIC to be HTTP/3 • April 2019 - Cloudflare releases Warp VPN based on QUIC draft • July 2019 - HTTP/3 Draft expires at IETF • August 2019 - Chromium fork released. Initial support for end-to-end iQUIC + HTTP/3 • September 2019 - cURL, NGINX, Google Chrome show early HTTP/3 support 6
  • 7. HTTP/2 Connection Versus HTTP 1.1 7 Image Source: Cloudflare
  • 9. WAIT.... Wasn't HTTP/2 multiplexing supposed to solve Head of Line Blocking? HTTP level = YES. TCP level = NO. Latency and Dropped Packets Expose This Problem. QUIC is an attempt to fix it all once and for all...
  • 10. HTTP/3 Stack 10 Image Source: Kinsta TLS 1.3 1.2+
  • 11. QLOG 11 • Log for QUIC and HTTP/3 events • JSON Format • Allows for debugging and visualization for QUIC streams • Still being stanndardized Image Source: Robin Marx
  • 13. Challenges To Testing •Lack of Support •Draft code still has debugging (slower) •Few Web Server Choices: •LiteSpeed Enterprise (-not- OpenLiteSpeed) •Caddy Server (VERY NEW) •Cloudfare does not support it (yet) 13
  • 14. Challenges forHTTP/3 •+/- 5% QUIC connections fail •CPU Intensive - Requires 2X or more servers •UDP on port 443 is blocked •UDP is not as optimized as TCP •No standard API for QUIC (yet) 14
  • 15. HTTP/3 Tools “Tools? Where we're going, we don't need tools.” 15
  • 16. Tools • cURL (after September 11, 2019) • HTTP3 Check (http3check.net) • QLog visualization tool (quicvis.edm.uhasselt.be/#/files) • Browser Dev Tools • Apposite Netropy • Node JS and Puppeteer (??) • Neotys Neoload 16
  • 17. Current IETF QUIC Implementations •AIOQUIC - Python •lsquic - C - LiteSpeed •ngtcp2 - C - open source effort •QUICHE - RUST - Cloudflare •Quiche - Google (because naming is hard) •mvfst - C++ - Facebook https://github.com/quicwg/base-drafts/wiki/Implementations 17
  • 18. Demo - Test Results
  • 19.
  • 20. The Mission • Using a realistic web site, compare: • HTTP 1.1 • HTTP/2 • HTTP/3 (QUIC) • Cloudflare/No Cloudflare • Netropy Proxy Determine: • Is Head of Line Blocking gone? 20 https://loadtesthttp3.com
  • 21. “I apologizefor the crudityofthis model...” • Set up and configure cloud server instance (Ubuntu 18.04) • Seperate Database (MySQL 8 on AWS RDS service) • Litespeed web server with PHP 7.3 • Wordpress with custom theme • Setup Domain, Email, and Cloudflare DNS/Caching • Set up Network Emulation (Netropy Proxy) • Baseline with GTMetrix, Web Page Test, Chrome DevTools • Run up to 50 virtual users with NeoLoad 21
  • 22. Chrome Waterfalls 22 HTTP 1.1 - 4.6 sec HTTP 2 - 0.5 sec H2 QUIC - 2.5 sec
  • 23. Test Results - HTTP 1.1- No Network Emulation 23
  • 24. Test Results - HTTP 2- No Network Emulation 24
  • 25. Test Results - QUIC - No Network Emulationor Cloudflare 25
  • 28. Test Results - HTTP 1 -WITH Network Emulation LTE 28
  • 29. Test Results - HTTP 1 -WITH Network Emulation - Satellite 29
  • 30. Test Results - HTTP 2- WITH Network Emulation- LTE 30
  • 31. Test Results - HTTP 2- WITH Network Emulation- Satellite 31
  • 32. Test Results - QUIC - WITH Network Emulation- LTE 32
  • 33. Test Results - QUIC - WITH Network Emulation- Satellite 33
  • 34. Summary • It SEEMS to remove HTTP HOL - but... • Requires more server CPU/Memory • Low Bandwidth situations benefit the most • Will need to be tested as the spec evolves • Test Cases Should include Network Emulation • TCP transition to UPD will be slow • UDP will need to be optimized • Additional protocols will come (i.e. DNS) 34
  • 35. Who To Follow • Robin Marx - @programmingart • Daniel Stenberg (cURL) - @bagder • Lucas Pardue - @SimmerVigor • Barry Pollard - @tunetheweb • Cloudflare • LiteSpeed • IETF • Scott Moore - @loadtester • Apposite Technologies - @Apposite_Tech 35
  • 36. References • CURL HTTP/3 library - https://github.com/curl/curl/blob/master/docs/HTTP3.md • AIOQUIC - Python implementation. https://github.com/aiortc/aioquic. • Cloudflare QUIC site: https://cloudflare-quic.com/ • QUIC Working group (IETF): https://quicwg.org/ • QLog visualization tool: https://quicvis.edm.uhasselt.be/#/files • QUIC implementations: https://github.com/quicwg/base-drafts/wiki/Implementations • HTTP/3 Verification Check (from LiteSpeed) - https://http3check.net/ 36