CDN Performance Metrics: What to Measure
The Metrics That Matter
CDN performance isn't a single number. It's a collection of metrics, each revealing a different aspect of your content delivery quality. Tracking the right metrics lets you identify bottlenecks, validate configuration changes, and justify CDN investment.
| Metric | Edge Processing | Origin Processing | Improvement |
|---|---|---|---|
| Latency (p50) | 8–15 ms | 120–300 ms | 15–20x faster |
| Cache Hit Ratio | 85–95% | N/A | Reduces origin load |
| TLS Handshake | 1–5 ms (nearby PoP) | 50–150 ms | 10–30x faster |
| Bandwidth Cost | $0.01–0.04/GB | $0.05–0.12/GB | 3–5x cheaper |
| Availability | 99.99% (multi-PoP) | 99.9% (single DC) | 10x fewer outages |
Primary Metrics
Time to First Byte (TTFB)
Time from the client sending the request to receiving the first byte of the response. This is the most visible CDN performance metric.
Good: < 200ms (cache hit from nearby edge)
Acceptable: 200-600ms (cache miss or distant edge)
Poor: > 600ms (origin latency or network issues)
TTFB varies significantly between cache hits and misses. Track them separately: CDN hit TTFB should be 5-50ms; CDN miss TTFB depends on origin response time.
Cache Hit Ratio (CHR)
Percentage of requests served from cache. The most important metric for CDN effectiveness. See cache hit ratio optimization for improvement techniques.
CHR = cache_hits / total_requests × 100%
Target: > 90% for static content, > 50% for dynamic
Origin Response Time
How long the origin takes to respond to CDN requests. This affects cache miss TTFB and determines how fast the CDN can populate its cache.
Error Rate
Percentage of 4xx and 5xx responses. Track separately: client errors (4xx) vs server errors (5xx). A rising 5xx rate may indicate origin overload or CDN misconfiguration.
Secondary Metrics
| Metric | What It Shows | When to Watch |
|---|---|---|
| Bandwidth | Total data served (CDN + origin) | Cost management, capacity planning |
| Requests per Second | Load volume | Traffic spikes, attack detection |
| Edge Latency | Processing time at the edge | WAF overhead, edge compute impact |
| TLS Handshake Time | Connection setup overhead | Protocol version optimization |
| Cache Eviction Rate | How often cache entries are evicted | Cache sizing, TTL tuning |
User-Facing Metrics
CDN metrics align closely with Core Web Vitals:
- Largest Contentful Paint (LCP) — Directly affected by CDN TTFB and image delivery speed
- First Input Delay (FID) / Interaction to Next Paint (INP) — Affected by script delivery speed
- Cumulative Layout Shift (CLS) — Affected by image dimension information from CDN
Monitoring Tools
- CDN analytics — Built-in dashboards from your CDN provider
- Real User Monitoring (RUM) — Measure actual user experience (SpeedCurve, Dynatrace, New Relic)
- Synthetic monitoring — Periodic tests from global locations (Catchpoint, ThousandEyes)
- Custom metrics — Server Timing header for granular CDN timing breakdown
Server Timing Header
Some CDNs add a Server-Timing header with performance breakdown:
Server-Timing: cdn-cache;desc=HIT, edge;dur=2.5, origin;dur=0
This reveals cache status and processing time without external monitoring tools. See CDN observability.