We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Analysing QUIC and HTTP/3 traffic with qlog and qvis

Formale Metadaten

Titel
Analysing QUIC and HTTP/3 traffic with qlog and qvis
Serientitel
Anzahl der Teile
637
Autor
Lizenz
CC-Namensnennung 2.0 Belgien:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen.
Identifikatoren
Herausgeber
Erscheinungsjahr
Sprache

Inhaltliche Metadaten

Fachgebiet
Genre
Abstract
The new QUIC and HTTP/3 protocols are finally here! With their standardization at the IETF almost complete and several mature implementations being deployed, we can start looking into which performance improvements they bring in practice. There's just one problem though: they're quite complex and difficult to test. Using high level tooling like lighthouse might show that they're faster or slower, but rarely why. But problems are there to be solved, and that's what I've been doing for the past 2 years with the qlog and qvis projects. The qlog structured endpoint logging format (https://github.com/quiclog/internet-drafts) is supported by over 70% of all QUIC implementations and allows you to extract low-level protocol information in JSON directly from the client and server. These traces can then be loaded for analysis in different interactive visualizations in our open-source qvis toolsuite (https://qvis.edm.uhasselt.be). This brings an unparalleled opportunity to analyze performance problems and opportunities to the new protocols, as these tools start where the browser devtools end. In this talk, we will explore QUIC and HTTP/3's main performance oriented features, such as 0-RTT connection establishment, advanced congestion and flow control, stream multiplexing and prioritization, and Head-of-Line blocking removal in-depth. We discuss how they are supposed to work, why it's not always that easy in practice, and of course: how to diagnose issues with these features using qlog and qvis. We will use concrete examples of bugs found in major implementations to teach how to interpret the behavior of these new protocols, based on some of our research (https://qlog.edm.uhasselt.be/epiq). We explain how to properly approach testing the new protocols in the future, as great care should be taken in interpreting any results and their root causes. Along the way we debunk some common misconceptions on the protocols and their potential improvements (no, the fact that QUIC runs on top of UDP does not mean it no longer needs congestion control or magically becomes faster, no matter what that Hackernews commenter claims).