Most “CDN comparison” posts you’ll find compare TTFB from a US data center on a US-hosted site. That’s not what most of our clients need. We needed to know: if you’re an e-commerce shop in San José serving customers in Costa Rica, Panama, and Spain, which CDN actually wins?
We ran the same Magento 2 storefront on both, for 90 days, with synthetic checks from RUM (Real User Monitoring) plus actual customer data.
The setup
- Origin: Linode in São Paulo, 8 vCPU / 16 GB
- Akamai: Linode CDN + Image Manager
- Cloudflare: Pro plan, Polish + Mirage enabled, APO disabled (we tried it, more on that below)
- Traffic: ~140k uniques/month, 60% Costa Rica, 22% Panama, 12% Spain, 6% other
What we measured
| Metric | Akamai | Cloudflare |
|---|---|---|
| p50 TTFB (CR) | 142ms | 168ms |
| p95 TTFB (CR) | 380ms | 410ms |
| p50 TTFB (ES) | 38ms | 31ms |
| Image bytes saved | -47% | -52% |
| Origin egress (monthly) | 480GB | 410GB |
| Monthly cost | $89 | $20 (Pro plan) |
Where each one earned its keep
Akamai (Linode bundle) won on:
- LATAM PoP coverage. Costa Rica latency was meaningfully better. The PoP in San José is there, where Cloudflare’s “Costa Rica” traffic actually terminates in Miami.
- Support. When we had to ship a TLS cert change on a Saturday for a client launch, we had a human on Slack in 14 minutes.
Cloudflare won on:
- Spain / EU traffic. No contest — CF’s PoP density crushes Linode there.
- Price. $20 vs $89.
- Image transforms. Polish + Mirage was measurably better at image bytes saved than Linode’s Image Manager.
APO: don’t bother (for Magento)
We tried Cloudflare APO for two weeks. It cached too aggressively for a logged-in cart flow and we ended up with stale cart contents for ~3% of returning visitors. The fix is doable but not worth the price for the throughput we had. For static / Astro / Jamstack sites this calculus is completely different — APO is great there.
Our conclusion
For pure-LATAM traffic, we now default to Akamai (via the Linode bundle) — partially because the latency win is real, mostly because the partner relationship gives us 24/7 support that has saved client weekends.
For mixed LATAM + EU traffic where the customer is cost-sensitive and traffic skews EU, we default to Cloudflare Pro.
For pure-static sites (this one, hint hint), we run Cloudflare Pages — but that’s a different conversation.