Routebench

CDN benchmark across Cloudflare, Fastly, and CloudFront. Same bytes from each, every provider on its own apex with co-located DNS, real-user measurement from browsers.

DNSresolve
TCPconnect
TLShandshake
WAITserver + 1 RTT
DLbody transfer

cold = fresh TLS handshake. warm = reused connection, so DNS/TCP/TLS are 0 by definition. Successful fetches without browser Resource Timing are excluded from latency p50/p95/p99 and sample counts. TTFB = DNS + TCP + TLS + WAIT · TOTAL = TTFB + DL. Each row is a (provider, protocol) pair; bars end at that row's real p50 of total_ms, stripes show proportionally where the time goes. Bars scale to the slowest row in the ranking. "fastest" marks the lowest p50. p95 / p99 live in the detail table behind the toggles.

1p.gif 43 B 3,400,015 probes · 96.9% ok · 96h

Cloudflare Fastly CloudFront close race <5% insufficient data 81 countries colored · floor: ≥500 warm probes per provider (totalled across both files) · p50 shown per file · 11 close race <5%
cold fresh TLS handshake
Fastly h3
91.4 ms421,279
Cloudflare h3
120.4 ms560,510
CloudFront h3
158.5 ms573,810
Cloudflare h2
226.9 ms105,251
Fastly h2
243 ms243,821
CloudFront h2
265.2 ms91,538
2,006,644 cold probes · 59% of file · h3 1,555,599 · h2 440,610 · 10,435 on h1/unknown (not ranked)
DNSTCPTLSWAITDLTTFBTOTAL
Fastly h3p5021.70.728.321.70.789.991.4
p95182.73127.1104.64.7437.2440.9
p99476.76.2334.9296.8181118.11120.4
Cloudflare h3p5018.513246.80.5119120.4
p95162.23145212.65505.9510.1
p99458.86317.1597.615.11326.51327.3
CloudFront h3p5036144430.5157.7158.5
p9523932072924.2682.1684
p997325.7357.1489.212.11427.41428.8
Cloudflare h2p5024.523.748.2460.8224.8226.9
p95227.4412.1378.6248.4611901206
p99838.58021056.2715.341.93221.43263.7
Fastly h2p50222.341270242.9243
p95120.6148.3251166.33.8986.9990.5
p99423.7409.4761.5472.111.22484.82485.3
CloudFront h2p5038276640.90.6264.2265.2
p95273.6350.6540.4285.74.31298.91303.9
p991093.2701.41242.7613.213.73256.93257
warm reused connection
Fastly h3
24.8 ms161,330
Fastly h2
27 ms208,031
CloudFront h3
33 ms311,999
Cloudflare h3
36 ms296,755
Cloudflare h2
42 ms90,615
CloudFront h2
52.1 ms71,406
1,168,740 warm probes · 34% of file · h3 770,084 · h2 370,052 · 28,604 on h1/unknown (not ranked)
WAITDLTTFBTOTAL
Fastly h3p50210.623.624.8
p951103.6122124
p99289.210.5442.1445.8
Fastly h2p5023.802627
p95135.62.1156161.4
p99382.47.1475.1483.3
CloudFront h3p5030.70.33233
p951912.5196197.3
p99365.27.1399.2399.4
Cloudflare h3p5033.50.535.136
p95163.53.1170.3174.4
p99428.58.4469.1480.1
Cloudflare h2p5036.10.740.842
p95199.84.3233.1246.8
p9955537.1647.8722.5
CloudFront h2p50380.55152.1
p95241.42.7305307.4
p995268.9720.6756.8

100.bin 100 KB 3,379,752 probes · 97.1% ok · 96h

Cloudflare Fastly CloudFront close race <5% insufficient data 81 countries colored · floor: ≥500 warm probes per provider (totalled across both files) · p50 shown per file · 11 close race <5%
cold fresh TLS handshake
Fastly h3
124.2 ms418,896
Cloudflare h3
184 ms554,108
CloudFront h3
210.2 ms568,230
Cloudflare h2
272.7 ms104,940
Fastly h2
289 ms243,981
CloudFront h2
321 ms95,327
1,995,425 cold probes · 59% of file · h3 1,541,234 · h2 444,248 · 9,943 on h1/unknown (not ranked)
DNSTCPTLSWAITDLTTFBTOTAL
Fastly h3p5021.40.72923.126.492124.2
p95192.83.2124.6107.6152.4436571.2
p995346317.9272452.71216.71661.2
Cloudflare h3p5017.5131.848.254121184
p95157.63150222.1342.1508.9824.1
p99419.16324583.4758.41228.32013.3
CloudFront h3p5035.8143.243.346156.1210.2
p95233.13211295305.8706.3993.7
p99565.16.6380.6516632.61314.31984.3
Cloudflare h2p502422.44746.931225.4272.7
p95215.7376.4365.2230.1300.71113.41424.8
p99735.6807.6969.5577.2939.42535.43416.5
Fastly h2p50222.9412839240289
p95112.2146252.9162.1251.41008.81252.9
p99379.4361.3757.1404693.32283.12873.4
CloudFront h2p5036.725614742.9262.9321
p95269.4333559.1357.4362.91281.81636.8
p991006.5668.51158.2685.6879.92903.23751.6
warm reused connection
Fastly h3
44.4 ms160,566
Fastly h2
49 ms208,257
Cloudflare h2
66 ms90,434
CloudFront h3
67 ms309,522
Cloudflare h3
70 ms295,102
CloudFront h2
96 ms70,532
1,164,968 warm probes · 34% of file · h3 765,190 · h2 369,223 · 30,555 on h1/unknown (not ranked)
WAITDLTTFBTOTAL
Fastly h3p5022.3162544.4
p95102.7116.2118.4230.8
p99276.1344.2398.5687
Fastly h2p50251627.249
p95143173.3163337.9
p99327.1655415.1962.8
Cloudflare h2p5037.91742.666
p95197.3263.9237474.6
p99492743.1631.51223.9
CloudFront h3p5032.7283567
p95199233.2207425.1
p99404.5428.1478829.8
Cloudflare h3p5033.4293570
p95153232.7157.9385.4
p99454.2765.4461.51238
CloudFront h2p50482560.996
p95319.8284.7366.7626
p99619.1783.5761.91349.6

By device p50 total_ms · last 96h

device variant file probes Cloudflare Fastly CloudFront
mobile cold 1p.gif 1,094,464 152.9 ms188 ms178 ms
cold 100.bin 1,084,199 224 ms231.4 ms238.1 ms
warm 1p.gif 669,195 41 ms28 ms35.1 ms
warm 100.bin 666,335 79 ms54.2 ms69 ms
desktop cold 1p.gif 912,180 112.5 ms87 ms158.8 ms
cold 100.bin 911,226 167.1 ms116 ms202.8 ms
warm 1p.gif 499,545 34.9 ms24.3 ms41.5 ms
warm 100.bin 498,633 62 ms43.7 ms86.2 ms

By country top 15 by volume · p50 total_ms · last 96h

1p.gif 43 B

cold
country probes Cloudflare Fastly CloudFront
GB 263,650 96.4 ms110.6 ms87 ms
US 236,837 144.3 ms167 ms146 ms
DE 143,285 140.5 ms124.3 ms99.5 ms
BR 147,592 118.4 ms102.3 ms362.8 ms
FR 117,631 87.9 ms107 ms84 ms
TR 83,582 209.3 ms187 ms175.8 ms
ES 69,572 102 ms91.8 ms100.6 ms
MX 69,733 191 ms176 ms174.6 ms
IT 50,500 130 ms130.9 ms116.2 ms
NL 50,096 110 ms116 ms101.6 ms
CA 42,423 115 ms120.3 ms113 ms
AU 40,583 96 ms119 ms515.9 ms
HK 24,279 145 ms264 ms548 ms
AR 36,050 115.1 ms105.1 ms459.9 ms
PL 34,993 116.8 ms142.5 ms161 ms
warm
country probes Cloudflare Fastly CloudFront
GB 145,127 30 ms21 ms19 ms
US 148,681 36.5 ms24 ms25 ms
DE 83,859 43.3 ms22.4 ms21.2 ms
BR 65,662 34 ms20.2 ms130.4 ms
FR 64,596 28 ms18 ms17.4 ms
TR 52,579 73 ms55 ms38 ms
ES 34,547 31.1 ms20.6 ms21.2 ms
MX 33,448 62.4 ms42.1 ms35 ms
IT 27,355 36 ms24 ms26 ms
NL 25,958 33 ms20 ms23 ms
CA 26,221 33.4 ms20 ms21 ms
AU 22,973 27 ms15.2 ms175.1 ms
HK 36,947 19.9 ms40.1 ms158.5 ms
AR 17,352 31.3 ms21 ms151 ms
PL 18,172 33.5 ms37.8 ms41 ms

100.bin 100 KB

cold
country probes Cloudflare Fastly CloudFront
GB 262,130 150.6 ms145.9 ms115.9 ms
US 242,463 201 ms199 ms187.3 ms
DE 141,836 223.9 ms166 ms133.8 ms
BR 146,317 174 ms138.1 ms564.4 ms
FR 117,377 133.9 ms138.6 ms109 ms
TR 83,201 289.2 ms253.2 ms236.8 ms
ES 68,611 151.9 ms123.6 ms127.3 ms
MX 68,598 280 ms222.5 ms225.6 ms
IT 50,179 200.2 ms169.8 ms156.4 ms
NL 49,880 170.5 ms148.3 ms132.8 ms
CA 42,326 165.1 ms157 ms145 ms
AU 40,083 145 ms148.8 ms777 ms
HK 23,683 206.3 ms337.5 ms802 ms
AR 35,364 171.4 ms142 ms692 ms
PL 34,330 167.9 ms195 ms217 ms
warm
country probes Cloudflare Fastly CloudFront
GB 144,013 56 ms39 ms37 ms
US 155,518 65 ms45.8 ms49.8 ms
DE 83,273 83 ms45.9 ms42 ms
BR 65,045 61.7 ms37.1 ms251 ms
FR 64,568 49 ms32.4 ms32 ms
TR 51,948 115 ms90 ms72 ms
ES 34,460 58.1 ms38 ms42 ms
MX 33,640 106 ms70.5 ms66 ms
IT 27,416 70 ms45 ms49 ms
NL 26,236 65.2 ms39.9 ms43.9 ms
CA 25,868 56 ms35.1 ms38 ms
AU 22,870 52.7 ms31 ms338 ms
HK 37,272 25.3 ms57.4 ms303.8 ms
AR 17,657 54.7 ms38 ms284.7 ms
PL 18,172 61.4 ms71 ms76 ms

6,779,767 probes across 2 sites over the last 96h · last ingest 2026-06-08 22:08:25.538 UTC