QUIC, also known as HTTP/3, turns out to be defeated by HTTP/2 in high-speed Internet environments


By

Sedrubal

HTTP/3 is a specification of HTTP that was standardized in 2022 and was originally called 'HTTP over QUIC' when it was developed. It is said that using HTTP/3 will improve communication performance, but a paper has been published stating that under certain conditions the older version of HTTP/2 performs better.

QUIC is not Quick Enough over Fast Internet | Proceedings of the ACM Web Conference 2024
https://dl.acm.org/doi/10.1145/3589334.3645323


QUIC is not Quick Enough over Fast Internet - YouTube


As of 2024, there are three major versions of HTTP. The major difference between them is that the older versions HTTP 1.1 and HTTP/2 use TCP connections, while HTTP/3 uses UDP connections in combination with the QUIC protocol.



When establishing a TCP connection, the 'handshake' requires two round trips between the client and the server, which reduces performance when the line is narrow or the server is physically far away. UDP + QUIC can perform the handshake in one round trip, and has the advantage of eliminating the need for a handshake when communicating with the same party, making it increasingly popular among companies that are sensitive to performance.

Why has HTTP/3 become so popular and what are its advantages? - GIGAZINE



In this study, we compared the communication speeds of the traditional HTTP/2 and QUIC, an HTTP/3 protocol, on a network with a bandwidth of 1 Gbps and only one relay device between the server and client.



The difference in communication speed for each file size is shown in the figure below. When transferring a single file in a high-speed Internet environment, HTTP/2 recorded the highest speed regardless of the file size, and also kept CPU usage low.



The difference when changing the line bandwidth is shown in the figure below. Up to about 600Mbps, there is no difference in speed for any protocol, but above 600Mbps, the communication speed of QUIC drops. Also, regardless of the bandwidth, HTTP/2 had the lowest CPU usage.



Experiments using the Chrome browser yielded the same results.



The same was true for other browsers, with HTTP/2 showing better communication speeds and CPU usage.



The figure below shows the results of an experiment in which a 4K movie was streamed over Ethernet, 5G, and 4G. The vertical axis shows the bit rate when HTTP/3 was used, and the horizontal axis shows the bit rate when HTTP/2 was used. If there is a dot to the lower right of the dotted line, it means that HTTP/2 is faster. The results showed that HTTP/2 had a higher bit rate than Ethernet and 5G, and there was no difference even with 4G.



HTTP/3 has its merits in situations where there are many small files or the connection is thin and frequently switches, but it has been found that it actually slows down speeds in situations where there are only a few large files or the connection is thick and stable.

The paper states that the root cause of HTTP/3 slowdown is 'high receiver processing overhead, in particular excessive data packets and QUIC user-space ACKs.'

in Software, Posted by log1d_ts