CDN Performance Lab

CDN Observability Lab

Generate diverse traffic patterns against your CDN endpoints to compare observability metrics between CloudFlare and CloudFront

⚡ How to Use

Deploy this same HTML file behind both CloudFlare and CloudFront, then:

  1. Enter the base URL of your CDN-fronted origin below (e.g. https://cdn.yourdomain.com)
  2. Run individual tests or hit Run All Tests to generate traffic
  3. Compare metrics in CloudFlare Analytics vs CloudWatch + CloudFront Console
  4. Each test targets different observability dimensions: cache behavior, status codes, latency, bandwidth, error rates
Cache Hit / Miss Pattern
Requests the same assets twice — first to prime the cache (MISS), then to verify caching (HIT). Appends unique query strings to force misses. Tests cache-control header behavior.
CF: cf-cache-status AWS: x-cache Cache Hit Ratio TTFB
Status Code Generator
Requests paths designed to trigger 200, 301, 304, 403, 404, and 500 responses. Populates error rate metrics, status code breakdowns, and 4xx/5xx dashboards on both platforms.
CF: HTTP Status Codes CW: 4xxErrorRate CW: 5xxErrorRate Error Ratio
Bandwidth Profiler
📊
Fetches assets of varying sizes — tiny (1KB), small (50KB), medium (500KB), large (2MB) — to generate bandwidth metrics and compare transfer speed across CDN POPs.
CF: Bandwidth CW: BytesDownloaded Transfer Time Compression
Concurrent Request Burst
🔥
Fires 20 parallel requests simultaneously to stress-test connection handling. Generates request count spikes visible in rate/throughput graphs and helps identify throttling behavior.
CF: Requests/sec CW: TotalRequests p50 / p99 Latency Throttling
Edge POP Detector
🌐
Reads CDN-specific response headers to identify which edge location served the request. Maps cf-ray (CloudFlare) and x-amz-cf-pop (CloudFront) to datacenter codes.
CF: cf-ray / colo AWS: x-amz-cf-pop Edge Location
TTL & Header Inspector
🔍
Requests assets with varied Cache-Control directives and inspects response headers — age, expires, vary, etag, last-modified. Compares how each CDN respects and reports TTLs.
Cache-Control Age header CF: CDN-Cache-Control AWS: x-cache
0
Total Requests
Avg TTFB (ms)
0
Cache Hits
0
Cache Misses
0
Errors
0 KB
Total Transferred

📋 Request Log 0

newest first
Run a test to see results here...