Employing QUIC Protocol to Optimize Uber’s App Performance
Article Summary
Uber operates across 600+ cities on 4,500+ mobile carriers. Their HTTP/2 stack was failing users in lossy wireless networks.
Uber's Infrastructure Connectivity team tackled high tail-end latencies by replacing their TCP-based networking stack with the QUIC protocol. After extensive testing in India and other markets, they rolled out QUIC to production across Android and iOS apps.
Key Takeaways
- QUIC reduced tail-end latencies by 10-30% in production across rider and driver apps
- TCP retransmissions averaged 1 second, with tail cases hitting 30 seconds
- 45% of connections experienced packet loss, 30% during connection establishment
- 0-RTT connection setup and better loss recovery eliminated head-of-line blocking
- Integrated Cronet library under OkHttp API for zero migration cost
Critical Insight
Switching from HTTP/2 over TCP to QUIC protocol cut tail-end latencies by 10-30% at scale, with the biggest gains in high-loss cellular networks.