Backend Development 15 min read

HTTP3/QUIC Upgrade and Performance Improvements in Taobao's Long‑Chain Network

Taobao migrated its long‑chain network from a private SlightSSL over HTTP/2 to a full HTTP3/QUIC stack built on the XQUIC library, adding unified TNET interfaces, UDP probing and fallback, which cut recommendation latency by up to 33 %, transaction latency 32 %, boosted upload speed 21 % and short‑video download 18 % while solving UDP port, load‑balancing and kernel memory challenges.

DaTaobao Tech
DaTaobao Tech
DaTaobao Tech
HTTP3/QUIC Upgrade and Performance Improvements in Taobao's Long‑Chain Network

The article describes Taobao's large‑scale migration of its long‑chain network to HTTP3/QUIC using the internally developed XQUIC library. After years of using a private SlightSSL protocol on HTTP/2, the team introduced a full HTTP3/QUIC stack to address handshake latency, improve network reliability, and provide a reusable solution for multiple business scenarios such as recommendation, transaction, upload, and short‑video.

Taobao's TNET library, which serves over 90% of the platform's HTTPS traffic, now abstracts protocol differences and offers unified interfaces for HTTP2, HTTP3, custom tunnels, DNS, traceroute, MTU detection, and ICMP probing. The upgrade includes client‑side policy fetching, UDP connectivity probing, and fallback mechanisms to ensure seamless operation across diverse network conditions.

Performance measurements show significant reductions in latency and improvements in success rates: recommendation latency decreased by up to 33% (P99), transaction latency by 32%, upload speed increased by up to 21%, and short‑video download speed improved by 18%. Additional gains were achieved by optimizing UDP traversal, 0‑RTT usage, and protocol‑specific encryption handling.

Operational challenges such as UDP port rebind, five‑tuple forwarding limitations, and kernel‑level UDP memory constraints were addressed through UDP probing, CID‑based load balancing, kernel upgrades, and socket options. The following code snippet illustrates the socket option used to enable UDP hash optimization: setsockopt(s, SOL_UDP, 200, (const void *) &value, sizeof(int))

performancetaobaonetwork optimizationHTTP3QUICXQUIC
DaTaobao Tech
Written by

DaTaobao Tech

Official account of DaTaobao Technology

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.