| Users | Requests per Second | Cache Hit Ratio | Origin Server Load | Bandwidth Usage | Latency |
|---|---|---|---|---|---|
| 100 users | ~10-50 RPS | ~80% | Low | Low | Low |
| 10,000 users | ~1,000-5,000 RPS | ~85-90% | Moderate | Moderate | Low |
| 1,000,000 users | ~100,000-500,000 RPS | ~90-95% | High without CDN scaling | High | Low to Moderate |
| 100,000,000 users | ~10M-50M RPS | ~95-99% | Origin offloaded heavily | Very High | Low (global edge caching) |
CDN caching for static content in HLD - Scalability & System Analysis
The origin server becomes the first bottleneck as user requests grow. Without CDN caching, the origin must serve all static content, causing high CPU, bandwidth, and latency issues. Network bandwidth at the origin and server capacity limit how many requests it can handle.
- Use CDN edge caching: Cache static content at multiple global edge locations to serve users closer to them, reducing origin load and latency.
- Cache control headers: Set proper cache expiration and validation headers to maximize cache hit ratio and freshness.
- Cache invalidation: Implement efficient cache purging or versioning to update content without overloading origin.
- Origin scaling: Scale origin servers vertically or horizontally as a fallback when cache misses occur.
- Compression and optimization: Compress static files and optimize assets to reduce bandwidth usage.
- Load balancing: Distribute origin requests across multiple servers or regions.
- At 1M users with 100K RPS, assuming 90% cache hit, origin handles 10K RPS.
- Origin bandwidth: For 1MB average static file, 10K RPS = ~10 GB/s (~80 Gbps), which requires high network capacity.
- CDN edges handle 90K RPS, distributing bandwidth globally, reducing origin costs.
- Storage: Static content storage is usually small (GBs to TBs), but must be replicated across CDN nodes.
- Cost savings come from reduced origin bandwidth and server load.
Start by explaining the role of CDN caching in reducing origin load and latency. Discuss cache hit ratio impact and how cache control headers affect freshness. Then, identify bottlenecks at origin servers and network bandwidth. Finally, propose scaling solutions like edge caching, cache invalidation, and origin scaling. Use numbers to justify your points.
Your origin server handles 1000 RPS for static content. Traffic grows 10x. What do you do first?
Answer: Deploy CDN edge caching for static content to offload the origin server and reduce load before scaling origin servers vertically or horizontally.
Practice
Solution
Step 1: Understand CDN caching basics
A CDN cache stores copies of static files like images and scripts near users to reduce loading time.Step 2: Identify the main benefit
By storing files closer, users get faster access and the main server has less load.Final Answer:
To store static files closer to users for faster access -> Option BQuick Check:
CDN caching = faster static content delivery [OK]
- Thinking CDN increases file size
- Confusing caching with encryption
- Assuming CDN deletes files after use
Solution
Step 1: Identify headers related to caching
Cache-Control header tells browsers and CDNs how long to keep cached content.Step 2: Exclude unrelated headers
Content-Type defines file type, Authorization is for access, User-Agent identifies client.Final Answer:
Cache-Control -> Option AQuick Check:
Cache-Control header manages caching [OK]
- Confusing Content-Type with caching
- Using Authorization header for caching
- Thinking User-Agent controls cache
Cache-Control: max-age=3600, public, what does it mean for CDN caching?Solution
Step 1: Interpret max-age directive
max-age=3600 means cache content for 3600 seconds (1 hour).Step 2: Understand public directive
public means content can be cached by any cache, including CDNs and browsers.Final Answer:
Cache content publicly for 3600 seconds -> Option AQuick Check:
max-age=3600 + public = public cache for 1 hour [OK]
- Confusing public with private caching
- Assuming max-age disables caching
- Thinking max-age means indefinite caching
Solution
Step 1: Understand CDN cache behavior
CDNs keep cached copies until they expire or are explicitly purged.Step 2: Identify cause of stale content
If files updated on origin but CDN still serves old files, cache invalidation likely missing.Final Answer:
The CDN cache was not invalidated or purged -> Option DQuick Check:
Stale CDN content = missing cache purge [OK]
- Assuming origin server down causes stale CDN cache
- Thinking deleted origin files cause stale CDN content
- Blaming user browser cache for CDN stale content
Solution
Step 1: Understand versioned URLs
Versioned URLs (e.g., style.v2.css) change file names on update, forcing CDN to fetch new files.Step 2: Combine with long cache expiration
Long cache expiration lets CDN cache files efficiently without frequent revalidation.Step 3: Avoid disabling caching or short expiration
Disabling caching or short expiration hurts performance and increases load.Final Answer:
Use versioned URLs for static files and set long cache expiration -> Option CQuick Check:
Versioned URLs + long cache = fresh and fast [OK]
- Disabling CDN caching unnecessarily
- Using no-cache header causing slow loads
- Relying on short expiration without versioning
Ready to prove it?
Pass the test and this pattern moves unknown
