How We Prepped Our Infrastructure for a Super-Bowl Sized Traffic
summary
Targets 100,000 requests/sec for 100 seconds (10 million users) and hits it with 60,000 iOS / 40,000 Android while keeping P99 at 30–50 ms. Uses Ksix for stress testing, Prometheus + Grafana for observability and Pyroscope profiling. Implements three ALBs with reserved LCUs (pre-warming / sharding), switches ECS from spot to on‑demand, raises AWS quotas, batches/compresses messages, and moves hot-partition config from DynamoDB to ElastiCache. Outcome: stable under load.
AI-written summary · about
chapters (13)
- 0:00Introduction and setup
- 3:57Why autoscaling fails
- 6:07Stress testing approach
- 7:52Infrastructure overview
- 10:20Scaling components
- 13:50Load balancer scaling
- 14:33ECS and spot instances
- 15:40SNS and Kinesis limits
- 16:23DynamoDB hot partitions
- 19:58Kinesis capacity limits
- 20:38Application profiling
- 23:05Super Bowl day results
- 24:29Lessons learned
related talks
47mScaling: from 0 to 25 million users
23mPerformance and Scaling for Special Events at eTF1
44mIntroduction to application scaling
24mSleeping soundly even when scaling your app to 200k request/seconds
47mScaling: from 0 to 25 million users
24mHow we Won the Super Bowl (Commercials)
28mReliability Lessons from Running High Traffic Services for More Than 10 Years
46mManaging a Billion Transactions with Tech, Tactics, and Teamwork
