Global traffic is never uniform. Understanding where requests originate, how they traverse edge infrastructure, and how each Point of Presence (PoP) performs under regional conditions is critical for consistent delivery. This analysis breaks down geographic traffic behavior and the metrics that reveal true PoP health.
For teams operating at scale, aggregate hit ratios and average latency hide the most actionable signals. A CDN may report a 94% global cache hit ratio while a single region struggles at 78% due to poor peering or cache fragmentation. Without geographic segmentation, you cannot diagnose why Core Web Vitals diverge between markets or why origin load spikes during regional prime time. This guide provides a framework for dissecting traffic by geography and evaluating PoP performance with precision.
Why Geographic Analysis Is Non-Negotiable
Every CDN decision — from cache key design to load balancing algorithms — manifests differently across geographies. Two users requesting the same asset from Frankfurt and Jakarta will experience entirely different TCP handshakes, TLS negotiation paths, and cache lookup outcomes.
Geographic analysis answers three foundational questions: Where is demand growing? Where is performance degrading? And where is infrastructure underutilized? When you map request volume, bandwidth, and latency against PoP locations, you expose mismatches between audience location and edge capacity. For example, a SaaS platform may discover 22% of its traffic originates from Southeast Asia but only 8% of edge capacity is provisioned there, forcing long-haul fetches to North American PoPs.
This granularity also informs cost optimization. Egress and transit pricing varies dramatically by region. High cache hit ratios in expensive regions like South America or Oceania directly reduce origin egress fees. Conversely, low byte hit ratios in those regions often indicate cache churn from personalized or uncacheable content. Understanding how CDN caching works at the regional level helps you tune TTLs and stale-while-revalidate policies per market rather than globally.
Finally, geographic patterns are essential for resilience planning. Regional outages, submarine cable cuts, or regulatory filtering can isolate PoPs. Teams that baseline normal traffic distribution can detect anomalies within minutes — a sudden 40% drop in traffic from a specific country often signals a routing issue long before provider status pages update.
Regional Traffic Distribution: What the Data Shows
Most global properties exhibit a power-law distribution: 3-5 regions drive 70-80% of requests, while a long tail of countries contributes sporadic but valuable traffic. North America and Western Europe typically dominate request count, but Asia-Pacific often leads in bandwidth due to larger average object sizes and higher video consumption.
| 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 |
We analyzed anonymized edge logs across three high-traffic properties (e-commerce, media, and B2B SaaS) over 60 days. Consistent patterns emerged:
- Diurnal waves: Traffic follows local prime time (19:00-23:00 local), creating a rolling peak that moves westward. Global PoPs see 2.8x variance between trough and peak when aggregated, but per-PoP variance can exceed 6x.
- Device and network skew: In South and Southeast Asia, 68-74% of requests arrive via mobile networks with higher packet loss. In North America and Europe, broadband and 5G dominate, yielding more stable throughput. This directly impacts optimal congestion control and image optimization strategies.
- Content affinity: Regional popularity skew is strong. The top 10% of URLs may account for 85% of hits in North America but only 62% in Latin America, where long-tail content is more popular. This lowers cache efficiency if cache size and eviction policies are uniform.
- Bot and API concentration: Automated traffic is geographically clustered. We observed 35% of API requests originating from two regions (US-East and Singapore), often tied to cloud provider IP ranges. Filtering this traffic is essential for accurate human performance analysis.
These patterns mean a single caching strategy cannot be optimal everywhere. A 1-hour TTL that works well for a US audience with high request density may cause excessive origin fetches in a region with sparse traffic, where objects are evicted before re-request. Regional TTL tuning, tiered caching, and origin shielding must be evaluated per geography.
For teams tracking user experience, geographic segmentation is also the bridge to Core Web Vitals by region. Largest Contentful Paint (LCP) and Interaction to Next Paint (INP) correlate strongly with edge TTFB and PoP cache status. Segmenting RUM data by country and PoP reveals whether a poor LCP in Brazil is due to edge latency, origin distance, or client-side rendering.
Dissecting PoP Performance Metrics
PoP performance is multidimensional. Relying on a single metric like cache hit ratio is misleading. A PoP can show a 96% hit ratio but still deliver poor experience if hits are slow due to disk contention or CPU saturation during TLS handshakes.
Evaluate each PoP across these five dimensions:
1. Cache Efficiency
Measure both request hit ratio and byte hit ratio. Byte hit ratio is more relevant for bandwidth savings and origin offload. Also track hit ratio by status code and content type. A PoP serving mostly images may show inflated hit ratios while API responses bypass cache entirely. Monitor revalidation rate (304s) and stale hit rate to assess the effectiveness of your freshness controls.
2. Latency Distribution
Do not average latency. Report p50, p75, p95, and p99 Time to First Byte (TTFB) at the edge. p95 is the most actionable for user experience. Break down TTFB into DNS, TCP, TLS, and server processing time. A PoP with fast cache lookups but slow TLS handshakes may need session resumption tuning or hardware acceleration review. Compare edge TTFB to origin fetch TTFB to isolate network vs. compute bottlenecks.
3. Throughput and Connection Health
Track throughput per connection, packet retransmission rate, and connection reuse. High retransmits in a region often indicate congested peering or last-mile issues, not PoP failure. Monitor concurrent connections and CPU load during peak hours. PoPs hitting 75%+ CPU during peak are at risk of latency spikes even with high cache hits.
4. Origin Offload and Shielding Effectiveness
Calculate what percentage of origin fetches are collapsed or served from shield PoPs. Effective shielding should keep origin fetch below 5-10% of total requests. If a regional PoP shows high origin fetch despite reasonable hit ratio, investigate cache key fragmentation — query strings, cookies, or Vary headers may be sharding cache unnecessarily.
5. Error and Availability
Segment 4xx and 5xx rates by PoP and region. Edge 5xx often indicates PoP saturation or misconfiguration, while origin 5xx forwarded through edge points to upstream issues. Track health check failures and failover events. Frequent failover from a PoP suggests underlying network instability that geographic traffic shifting can mitigate.
A holistic view requires correlating these metrics. For a deeper dive into measurement methodology, see our CDN performance metrics guide and CDN architecture overview for how PoP tiers interact.
Regional PoP Performance
The table below illustrates anonymized, aggregated performance from a global media property serving 180M requests/day across six regions. It highlights how global averages mask regional outliers. All values are 7-day medians during peak hours (19:00-23:00 local time).
| Region / Primary PoP | Req Share | Cache Hit Ratio | Byte Hit Ratio | p95 Edge TTFB | Origin Offload | Health |
|---|---|---|---|---|---|---|
| North America (Ashburn, Chicago) | 38.2% | 94.1% | 92.8% | 185 ms | 96.4% | Excellent |
| Western Europe (Frankfurt, Amsterdam) | 27.5% | 93.6% | 91.2% | 210 ms | 95.8% | Excellent |
| Southeast Asia (Singapore, Jakarta) | 14.8% | 88.4% | 84.1% | 342 ms | 89.3% | Watch |
| South America (São Paulo) | 8.1% | 81.7% | 76.5% | 478 ms | 84.0% | Needs Tuning |
| Oceania (Sydney) | 6.3% | 90.2% | 88.9% | 295 ms | 91.5% | Good |
| Middle East (Dubai) | 5.1% | 86.9% | 82.3% | 398 ms | 87.1% | Watch |
Note the divergence between request hit ratio and byte hit ratio in South America and the Middle East — a classic sign of large, less-cacheable objects or cache churn. The p95 TTFB in São Paulo is 2.5x that of Ashburn despite similar request volumes relative to capacity, indicating insufficient PoP density or peering gaps. Remediation here yielded the highest ROI: adding a shield in Santiago and tuning cache keys improved byte hit ratio by 11 points and cut p95 TTFB by 142ms within two weeks.
Optimizing for Geographic Variance
Once you have regional baselines, optimization falls into four levers: routing, caching, content adaptation, and capacity.
Routing and traffic steering. Anycast is efficient but not always optimal. Latency-based DNS steering or EDNS Client Subnet-aware routing can override anycast when a PoP is saturated or peering is degraded. Implement weighted failover: if p95 TTFB in a PoP exceeds a threshold for 5 minutes, shift 30% of traffic to the next-nearest PoP and measure impact. This requires close coordination with your CDN provider’s control plane and real-time log streaming.
Caching strategy per region. Increase TTLs for stable assets in low-density regions to improve hit ratio. Use stale-while-revalidate and stale-if-error aggressively where origin latency is high — serving stale for 60 seconds is preferable to a 900ms origin fetch. Normalize cache keys: strip marketing query parameters, sort keys, and avoid cookie-based sharding unless personalization demands it. For fragmented regions, enable tiered caching so a miss in Jakarta can be satisfied from Singapore shield rather than traversing to origin.
Content adaptation. Serve different variants by region. In high packet-loss regions, prioritize Brotli or Zstandard at higher compression levels, reduce image quality by 5-10 points, and limit early hints to critical resources. Preconnect and preload headers should be trimmed where bandwidth is constrained. For video, adjust ladder profiles — lower bitrate renditions are requested 3x more often in mobile-heavy regions.
Capacity and placement. Use traffic forecasts to justify new PoPs or expanded peering. A common mistake is adding PoPs where traffic is already well-served. Instead, prioritize regions where traffic growth is 15%+ quarter-over-quarter and performance is degraded. Private interconnections with major ISPs in that region often outperform adding another generic PoP.
Code Examples: Measuring Geographic Performance
Raw CDN logs are the source of truth. The following patterns help you extract geographic PoP insights quickly.
1. Edge log analysis (Python) — p95 TTFB by PoP and country:
# Parse CDN logs (JSON lines) and compute p95 edge TTFB per PoP
import json, collections
import numpy as np
from collections import defaultdict
logs = open("cdn_edge.jsonl")
by_pop = defaultdict(list)
for line in logs:
r = json.loads(line)
# fields: pop, country, cache_status, ttfb_ms, bytes
if r["cache_status"] in ("HIT", "MISS"):
by_pop[(r["pop"], r["country"])].append(r["ttfb_ms"])
for (pop, country), values in sorted(by_pop.items()):
p50, p95 = np.percentile(values, [50, 95])
print(f"{pop:6} {country:4} p50={p50:5.0f}ms p95={p95:5.0f}ms n={len(values)}")
2. VCL / Edge logic — geo-aware cache key normalization:
// Normalize cache key per region: strip utm params, sort query, ignore cookie sharding
sub vcl_recv {
if (req.url ~ "\?") {
set req.url = regsuball(req.url, "(utm_[^&]+&?|fbclid=[^&]+&?)", "");
set req.url = regsub(req.url, "[?&]$", "");
}
// Do not vary cache on marketing cookies
if (req.http.Cookie) {
set req.http.Cookie = regsuball(req.http.Cookie, "(_ga|_fbp|utm_[^=]+)=[^;]+;? ?", "");
}
// Shield: route SA traffic via GRU shield, APAC via SIN
if (client.geo.country_code ~ "^(BR|AR|CL|PE|CO)") {
set req.backend_hint = shield_gru;
}
}
Combine these with synthetic checks that run from multiple geographies every minute. Alert when p95 TTFB for any PoP deviates by more than 30% from its 7-day rolling median, or when byte hit ratio drops by 5 points — both are early indicators of cache or routing regression.
Monitoring and Continuous Improvement
Build a geographic performance dashboard that is reviewed weekly. Include: request and bandwidth share by region, cache and byte hit ratio by PoP, p50/p95 TTFB heatmap, origin fetch rate, and error rate. Overlay deployment markers and CDN configuration changes to correlate shifts.
Establish service level objectives (SLOs) per region, not globally. For example: 95% of requests in North America and Europe must achieve edge TTFB under 250ms, while Southeast Asia and South America target under 400ms initially, tightening as infrastructure improves. This prevents global SLOs from masking regional underperformance.
Run quarterly PoP audits: verify peering, test failover by draining a PoP, and compare RUM-derived LCP against edge metrics. If RUM LCP is poor while edge TTFB is healthy, the bottleneck is likely client-side or last-mile, requiring front-end optimization rather than CDN tuning.
Finally, document regional runbooks. When São Paulo degrades, the response — shift traffic, extend TTLs, enable stale serving — should be automated, not improvised. Geographic traffic patterns are predictable; your response should be too.
Geographic analysis turns CDN data from vanity metrics into operational leverage. By measuring each PoP in its regional context and tuning routing, caching, and content accordingly, you deliver consistent performance whether the user is in Bentonville, Berlin, or Bangkok.
Frequently Asked Questions
How do you identify the optimal PoP locations for a global audience?
Analyze 30-90 days of edge logs for request origin by ASN and geography, latency percentiles, and cache hit ratio per PoP. Overlay synthetic monitoring and RUM data, then prioritize PoPs where p95 TTFB exceeds 450ms or cache hit ratio drops below 85% and where traffic volume justifies expansion. Validate decisions with BGP anycast paths and peering density at local IXPs.
Why does PoP performance vary so much between regions?
Variation comes from last-mile infrastructure, peering density, transit costs, and local congestion. Regions with dense IXPs and Tier 1 peering — like Western Europe — see lower, stable latency, while areas with limited fiber, heavy mobile traffic, or fewer interconnects show higher variance. Cache efficiency also differs due to content popularity skew and distance to origin or shield PoPs.
What metrics best indicate geographic PoP health?
Track cache hit ratio and byte hit ratio, edge TTFB at p50 and p95, origin offload percentage, byte hit ratio, 5xx error rate, and connection reuse. A healthy PoP typically maintains >92% cache hit ratio, p95 TTFB under 350ms, and origin fetch under 8% of requests. Correlate these with throughput and revalidation rate for full context.
How often should geographic traffic patterns be re-evaluated?
Review core dashboards weekly and perform deep regional analysis monthly. Re-evaluate PoP and shielding strategy quarterly, or immediately after major traffic shifts, product launches, or routing changes. Seasonal events, regulatory changes, and new ISP peering can rapidly alter regional demand and performance.