South African traffic incorrectly routed via LHR

For the past few weeks, all of our traffic has been routed via London (LHR). Since I am located in South Africa, and our servers are located in South Africa, I would expect traffic to be routed either via CPT, DUR, or JNB.

This path results in TTFB ranging from 1-5 seconds, which makes untenable keeping Cloudflare enabled for the domains that we manage. We are currently on the free tier. We do not use any additional services such as Argo.

We have servers hosted on Xneelo, 1Grid, CloudAfrica, and Afrihost. Cloudflare-proxied traffic to all of these servers flows via London instead of via South Africa, causing massive latencies.

I have also tested this from 4 different originating ISPs, including Telkom, Afrihost, Vumatel and Vodacom. The result is the same from all of them.

The fact that this issue persists across such a wide range of combinations of origin ISPs and destination servers makes me think that the problem is on Cloudflare’s side. To be sure, I have also tested some other South African websites (as in, websites not managed by us) that I know are proxied by Cloudflare, and the result is the same.

Why is Cloudflare routing South African traffic via London, instead of via CPT, DUR, or JNB? The latencies introduced by this make it impossible to continue using Cloudflare.

For reference, a sample trace is provided as follows (actual host has been replaced with a placeholder):

fl=21f918
h=mydomain.co.za
ip=197.93.42.12
ts=1708382879.392
visit_scheme=https
uag=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
colo=LHR
sliver=none
http=http/3
loc=ZA
tls=TLSv1.3
sni=plaintext
warp=off
gateway=off
rbi=off
kex=X25519

South Africa ranks (slightly) behind South Kora and Australia in peering costs. I would imagine your performance is related to:

Deprecated - Peering - Why don't I reach the closest datacenter to me? (the archived bits). What plan level are your domains on? (You mention free in your post… is that true for all domains?)

1 Like

From the bit of digging that I’ve done, it’s all free tier domains that are affected. Paid tiers are not affected by this. Given that I’ve tested from multiple different ISPs, I think this is the fault of Cloudflare intentionally re-routing free tier traffic, rather than an issue with local routing or peering.

It’s become so bad today that I’ve now resorted to disabling Cloudflare proxying for the majority of the domains that we manage and which are on the free tier. TTFB of over 10 seconds are not uncommon this evening. And yet, the Cloudflare status page shows no issues with any of the South African nodes.