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,091,249 probes · 96.9% ok · 96h

Cloudflare Fastly CloudFront close race <5% insufficient data 78 countries colored · floor: ≥500 warm probes per provider (totalled across both files) · p50 shown per file · 15 close race <5%
cold fresh TLS handshake
Fastly h3
95.2 ms385,535
Cloudflare h3
125.6 ms513,252
CloudFront h3
164 ms525,912
Cloudflare h2
237.6 ms98,779
Fastly h2
241 ms226,585
CloudFront h2
274 ms85,378
1,845,048 cold probes · 60% of file · h3 1,424,699 · h2 410,742 · 9,607 on h1/unknown (not ranked)
DNSTCPTLSWAITDLTTFBTOTAL
Fastly h3p5022.60.729.722.20.793.995.2
p95198.73.2128.31074.4451.1453.1
p99484.56.9328.2282151206.81211
Cloudflare h3p5018.3133490.6124125.6
p95174.83154.22375.1560564
p99466.76.4355.7813.81617341734.5
CloudFront h3p5036.9145.4440.6163164
p95233.932102894.4700.4703.2
p99599.45.9397.4546.51515511555.7
Cloudflare h2p5025234947.30.9235.6237.6
p95233.4409.9386.6274.66.11196.41220.5
p99866.7861.5936.1942.548.13259.13292.7
Fastly h2p50222.740.1270240241
p95122.5136.3261155.23.310141014.4
p99469.6402.2789.7425.1112816.82817.2
CloudFront h2p5039.12768.9430.6271.9274
p95290.7362.4546.9283.841261.71270.2
p991045.5725.81146.4611.915.62975.62977.1
warm reused connection
Fastly h3
25.1 ms145,996
Fastly h2
27.7 ms185,196
CloudFront h3
34 ms278,282
Cloudflare h3
37 ms263,813
Cloudflare h2
43.5 ms82,759
CloudFront h2
53.9 ms65,417
1,045,804 warm probes · 34% of file · h3 688,091 · h2 333,372 · 24,341 on h1/unknown (not ranked)
WAITDLTTFBTOTAL
Fastly h3p5021.60.624.125.1
p951143.8147151.2
p99270.812.4506.4511.5
Fastly h2p502402727.7
p95143.82.3167.1171.5
p99379.713.3514.2551.2
CloudFront h3p50310.33334
p951962.5205206
p99379.18.5443.8448.2
Cloudflare h3p50340.63637
p951743.5191194
p99655.111.8664.4667.8
Cloudflare h2p5037.20.84243.5
p95219.25271.2291.6
p99743.671914.2993.8
CloudFront h2p5039.90.55253.9
p95246.83302.9313.9
p9949016.6772.7846.8

100.bin 100 KB 3,087,011 probes · 97% ok · 96h

Cloudflare Fastly CloudFront close race <5% insufficient data 78 countries colored · floor: ≥500 warm probes per provider (totalled across both files) · p50 shown per file · 13 close race <5%
cold fresh TLS handshake
Fastly h3
127.3 ms383,041
Cloudflare h3
193.8 ms507,866
CloudFront h3
214.3 ms521,372
Cloudflare h2
284 ms99,331
Fastly h2
284 ms225,617
CloudFront h2
329.8 ms94,821
1,841,397 cold probes · 60% of file · h3 1,412,279 · h2 419,769 · 9,349 on h1/unknown (not ranked)
DNSTCPTLSWAITDLTTFBTOTAL
Fastly h3p5022.40.729.823.527.294.1127.3
p95186.93.3132.6114.6159.9446.5599.5
p99487.36.3311.5262.4492.91078.91572.3
Cloudflare h3p5018.7132.15055126.8193.8
p95170.93157.4249361.9565.4919.1
p994786346.2708.29681583.12327.3
CloudFront h3p5035.71454548.2160214.3
p95232.63207286298.6666.7960.8
p99562.15.6361485.1548.31307.71810.3
Cloudflare h2p5025.52348.148.330.4235284
p95244404.6378.1269.7321.41204.31519
p99997.5821.3958.7841.9925.13021.33711.3
Fastly h2p50222392737239284
p95122141245.7161.2246.7942.31205.8
p99357.2384.3700.4424.2696.62312.42840.2
CloudFront h2p503725.260.248.243.9271.2329.8
p95268.8339550.7365.3369.61311.11649.3
p99925.8680.41093.4643.6867.42532.53329.5
warm reused connection
Fastly h3
45.5 ms145,341
Fastly h2
51 ms185,743
CloudFront h3
66 ms276,106
Cloudflare h2
68 ms82,121
Cloudflare h3
72.9 ms261,540
CloudFront h2
99.5 ms64,400
1,047,010 warm probes · 34% of file · h3 682,987 · h2 332,264 · 31,759 on h1/unknown (not ranked)
WAITDLTTFBTOTAL
Fastly h3p5022.816.225.445.5
p95120121.3143.5262.1
p99280408.1475.1774.2
Fastly h2p502616.82951
p95143191.3169356.2
p99353.3656.6492.21040.8
CloudFront h3p5032.7283566
p95196229.6208.1420.9
p99359.2492.9431.6861.1
Cloudflare h2p5039.117.94468
p95219.3289.8266.7572.3
p99610.6911.5845.21701.9
Cloudflare h3p5035303772.9
p95179.7256.9193.4454
p99631.3790.4663.41379.7
CloudFront h2p505026.36399.5
p95322.1279.1366604
p99625.3689.7792.91354.2

By device p50 total_ms · last 96h

device variant file probes Cloudflare Fastly CloudFront
mobile cold 1p.gif 1,007,385 157 ms191 ms185 ms
cold 100.bin 997,661 229 ms235 ms243.5 ms
warm 1p.gif 594,309 40.2 ms28.9 ms35.7 ms
warm 100.bin 591,283 78.2 ms53 ms69 ms
desktop cold 1p.gif 837,663 114.6 ms89.4 ms152 ms
cold 100.bin 843,736 170.3 ms118.5 ms210.3 ms
warm 1p.gif 451,495 35.6 ms24.3 ms46.5 ms
warm 100.bin 455,727 65.1 ms45.4 ms100.1 ms

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

1p.gif 43 B

cold
country probes Cloudflare Fastly CloudFront
GB 239,879 100.7 ms113.2 ms86 ms
US 216,022 146.1 ms170 ms147.2 ms
DE 128,859 141 ms127.8 ms101 ms
BR 139,202 125.5 ms104.7 ms368.3 ms
FR 108,739 90 ms104.1 ms83.4 ms
TR 76,720 213.3 ms188.9 ms175.4 ms
MX 64,917 188 ms179 ms177.8 ms
ES 63,378 105.6 ms93.9 ms103 ms
IT 47,062 133 ms131.8 ms117 ms
NL 46,679 112 ms116.1 ms102.5 ms
CA 38,504 118 ms124 ms115 ms
AU 37,871 97.8 ms116.2 ms512 ms
HK 21,856 151 ms271.7 ms564.2 ms
AR 33,595 116 ms108.9 ms460 ms
JP 28,795 138 ms155 ms447 ms
warm
country probes Cloudflare Fastly CloudFront
GB 128,445 30.8 ms21 ms19 ms
US 129,707 37 ms24.9 ms25 ms
DE 73,395 43 ms22 ms21 ms
BR 60,671 36 ms20 ms130 ms
FR 57,985 28.1 ms18 ms17.2 ms
TR 46,744 74 ms55 ms38 ms
MX 30,174 61.2 ms41.5 ms35.9 ms
ES 30,451 31.4 ms20.6 ms21.7 ms
IT 24,718 36.3 ms24.2 ms26 ms
NL 24,062 33.8 ms20 ms23 ms
CA 23,088 34 ms20 ms20.5 ms
AU 20,680 27 ms15 ms175 ms
HK 33,575 20 ms41.2 ms158.8 ms
AR 15,674 31.2 ms20.9 ms151 ms
JP 19,743 33 ms17.2 ms130.7 ms

100.bin 100 KB

cold
country probes Cloudflare Fastly CloudFront
GB 237,524 154 ms140.9 ms116.4 ms
US 227,734 206.9 ms201 ms195.1 ms
DE 127,155 225 ms165.3 ms136 ms
BR 138,311 181.8 ms138.9 ms563.2 ms
FR 108,693 133.9 ms135.5 ms108.6 ms
TR 76,413 297 ms258.3 ms234.8 ms
MX 64,183 278.2 ms229.5 ms231 ms
ES 62,690 155 ms125 ms128.3 ms
IT 46,631 204.2 ms168.3 ms156.2 ms
NL 46,237 173 ms148.5 ms133.1 ms
CA 38,565 166 ms154 ms146.8 ms
AU 37,346 147.3 ms150 ms772 ms
HK 21,387 209 ms348 ms831.2 ms
AR 33,042 176.1 ms144.2 ms689.9 ms
JP 28,487 203 ms184 ms641.5 ms
warm
country probes Cloudflare Fastly CloudFront
GB 127,388 57.5 ms40 ms37 ms
US 140,889 66 ms45 ms54.3 ms
DE 72,817 83 ms45 ms41.9 ms
BR 59,791 64.2 ms38 ms250 ms
FR 58,181 50.8 ms32.7 ms32 ms
TR 46,342 118.5 ms90.4 ms70 ms
MX 30,133 104 ms69.6 ms66.9 ms
ES 30,420 58.3 ms38 ms42 ms
IT 24,821 69.7 ms45.7 ms49.1 ms
NL 24,216 66 ms39 ms44.6 ms
CA 22,870 56 ms34.9 ms38.1 ms
AU 20,568 52.7 ms30.5 ms333.8 ms
HK 33,635 25.9 ms67 ms308 ms
AR 16,032 55.6 ms38 ms283.9 ms
JP 19,612 64.1 ms34 ms252 ms

6,178,260 probes across 2 sites over the last 96h · last ingest 2026-06-10 00:05:58.408 UTC