Serving 30,000,000 Requests an Hour in the Cloud
summary
A case study of an App Engine app that accidentally creates 30,000,000 requests in an hour and then is deliberately engineered to handle that load. Uses ApacheBench for load, App Engine + Cloud Storage + Firebase for logging and realtime, runs into URL Fetch quotas (≈11k QPS but three outgoing calls per request limits to ≈3.6k QPS) and Firebase flakiness around 3,500 QPS. Fixes include batching via memcache and task queues, swapping the load generator to Go to cut instances from ~700 to ~100 and reduce cost.
AI-written summary · about
chapters (12)
- 0:00Start
- 9:07Compute Engine
- 9:27Cloud Storage
- 20:42URLFetch
- 21:14Source Code
- 25:46Assumptions
- 26:12Memcache on App Engine
- 29:07Close but no cigar
- 33:41Pseudo Code
- 34:00How Firebase works
- 35:48Batch Memcache calls
- 36:02I'm sending too much stuff
related talks
19mEverything I learned about dynamic scaling of cloud apps.
54mGetting to 300 million requests a month with a one man AI/Dev-Ops team
01h 03mLaunch and grow your startup on GCP
26mHow We Prepped Our Infrastructure for a Super-Bowl Sized Traffic
36mGoogle Cloud Platform Solutions for DevOps Engineers
28mAccelerate with confidence through AWS Distributed Load Testing
10mAirAsia DevOps Journey
36mToPlay on Google Cloud
