Boosting App Performance: Strategies to Optimize Network Requests
Article Summary
Coinbase cut network requests by 64% during traffic spikes without degrading user experience. Here's how they engineered their way to massive scale.
Coinbase's engineering team tackled a critical scaling challenge: optimizing network request patterns across mobile and web apps to handle crypto trading surges. They focused on three areas: eliminating over-fetching, optimizing for peak loads, and establishing guardrails to catch regressions early.
Key Takeaways
- Fixed N+1 query problems, reducing requests by 90% in some flows
- Dynamic traffic surge system disables non-critical features during volatility
- Added app version to GraphQL metrics to catch regressions pre-production
- Polling optimization: unsubscribe when screens lose focus to avoid waste
- 20% reduction in traffic to critical services through systematic monitoring
Coinbase reduced requests by 64% during high traffic, 30% on app init, and 40% across critical user journeys while maintaining quality and cutting infrastructure costs.
About This Article
Coinbase's GraphQL setup was generating 1-100+ upstream requests for each client query. The API design was inefficient, causing N+1 query problems that multiplied the load on their databases across key user journeys.
Manjiri Moghe's team added data loaders to the resolvers and updated the APIs to handle multiple parameters in a single request. They also built in pagination support to reduce how many separate data fetching calls were needed.
After optimizing requests, app initialization traffic dropped by 30% and critical user journey requests fell by 40%. This let their services handle more volume without scaling up infrastructure as much, which lowered costs.