Employing QUIC Protocol to Optimize Uber’s App Performance

Rajesh Mahindra, Jason, Ethan Guo
18 min readintermediate
--
View Original

Overview

This article discusses how Uber implemented the QUIC protocol to enhance the performance of its mobile applications, particularly in low-latency and unreliable network conditions. It highlights the challenges faced with TCP and the significant improvements observed after integrating QUIC, including reduced latencies and better control over network performance.

What You'll Learn

1

How to implement the QUIC protocol to improve application performance

2

Why QUIC is preferable over TCP in mobile applications

3

How to analyze network performance metrics effectively

Prerequisites & Requirements

  • Understanding of network protocols and their performance implications
  • Familiarity with networking libraries like Cronet and OkHttp(optional)

Key Questions Answered

What are the performance benefits of using QUIC over TCP for Uber's applications?
Integrating QUIC led to a reduction of 10-30 percent in tail-end latencies for HTTPS traffic, significantly improving performance in low-connectivity environments. QUIC allows for better packet flow control and reduces the impact of network losses compared to TCP.
How did Uber implement QUIC in its mobile applications?
Uber replaced its legacy networking stack with QUIC by integrating the Cronet library into its Android and iOS applications. This integration was designed to ensure minimal migration costs for developers while maintaining existing API structures.
What challenges did Uber face with TCP in mobile networks?
Uber experienced high tail-end latencies and packet loss in mobile networks due to TCP's inefficiencies in handling wireless conditions. The article highlights that TCP's reliance on retransmissions and conservative timeout settings exacerbated these issues.

Key Statistics & Figures

Reduction in tail-end latencies
10-30 percent
Observed in HTTPS traffic after integrating QUIC into Uber's applications.
Percentage of packets retransmitted
3.5 percent
Indicates the level of packet loss experienced in congested areas.

Technologies & Tools

Protocol
Quic
Used to improve transport layer performance for Uber's mobile applications.
Networking Library
Cronet
Facilitates QUIC integration into Uber's mobile applications.
Networking Library
Okhttp
Used as the API framework for network calls in Uber's applications.

Key Actionable Insights

1
Integrate QUIC into mobile applications to enhance performance in low-connectivity environments.
By leveraging QUIC, applications can achieve lower latencies and better handle packet loss, making it ideal for users in dynamic environments like urban areas.
2
Monitor network performance metrics closely to identify areas for improvement.
Understanding RTT and packet loss rates can help in optimizing application performance and user experience, especially in regions with variable network quality.

Common Pitfalls

1
Over-reliance on TCP for mobile applications can lead to performance issues.
TCP's conservative timeout settings and retransmission strategies can exacerbate latency and packet loss in wireless environments, making it less suitable for real-time applications.

Related Concepts

Network Performance Optimization
Quic Protocol Advantages
Mobile Application Networking Challenges