cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

CloudFlare Throttling Issue (FTTH)

andyxl987
Contributor
Contributor

I have EE's Full Fibre package and hadn't had any problems in about 10 months of service. However, for the last 24 hours (maybe longer) I am experiencing extremely slow speeds to certain sites. For example, loading a discord channel may take 4 minutes to load. The emoji panel makes dozens of requests in a short frequency and also fails to load correctly.

I do not experience this issue while connected to a VPN.

I experienced something similar on Friday using 5G (also with discord) but put that down to signal issues.

Discord is not the only site that is affected. I host some public services on a remote server (Germany) and use CloudFlare proxy in front of these. Speed issues are also apparent for these, which again, do not reproduce when using a VPN. In fact, if I edit /etc/hosts to bypass CloudFlare's proxy, everything loads instantly. Note, that Discord also uses CloudFlare.

While it's possible the issue is my end, e.g. my router, Friday's issue while on mobile has me wondering if there's some issue between EE and CloudFlare? There appears to be severe throttling where the first several requests are fine and any subsequent requests are exponentially slower to send/receive.

I've also encountered similar while pulling images from docker hub and github container registry (although I do not believe either use CloudFlare).

96 REPLIES 96

Other speed test sites are OK. The following are taken using a WiFi connection (and other devices are in use):

fast.com (wifi):
620 download
94 upload

speedtest.net (wifi):
536.19 download
104.74 upload

speedtest.net (router inbuilt):
916.83 download
111.42 upload

think broadband (wifi):
My Broadband Speed Test

Under ideal (WiFi) conditions I can get over 700 Mbps from fast.com and Steam if no other devices are in use. But trying to load a few megabytes channel from discord or install packages from npm (node package repository) takes longer than to download a small game 😞 

Thanks @andyxl987  alas though that will make it harder to get an answer.

Unlike some other forum's there is no direct access on here to the Broadband Technical Care team, and as discovered getting beyond first line is not simple. From your and other posts many first line teams would struggle to understand the issues.

Besides it would appear the issues are outside the EE network so would need more detailed internet investigation.

You could try looking on the BT Forum to see if there are any similar issues being reported, or even on more specialist forums such as Kitz, Thinkbroadband or ISPReviews.

HTH,

 

andyxl987
Contributor
Contributor

Here's a small example showing the instability with an example Cloudflare protected host. This makes 20 separate requests to fetch a <2MB JavaScript file. This is a static/cached resource and should be expected to download instantly. The script considers any response taking longer than 5 seconds to be a failure. This limitation is for example purposes.

#!/bin/bash
echo "testing 20 connections to discord.com using 5 second timeout .."
passed=0
failed=0
for i in $(seq 1 20); do
  echo -n "connection attempt #$i: " >&2
  started=$(date +%s%3N)
  if curl -fsSL -m 5 --no-keepalive -H 'accept-encoding: gzip' -o /dev/null \
    --resolve 'discord.com:443:162.159.137.232' \
    'https://discord.com/assets/488e72c5a60aaf2af286.js' \
  ; then
    finished=$(date +%s%3N)
    elapsed=$((finished - started))
    echo "ok ($elapsed ms)" >&2
    passed=$((passed + 1))
  else
    failed=$((failed + 1))
  fi
done
echo ""
echo "passed: $passed"
echo "failed: $failed"

The results are unsurprising:

testing 20 connections to discord.com using 5 second timeout ..
connection attempt #1: curl: (28) Operation timed out after 5000 milliseconds with 1331853 bytes received
connection attempt #2: ok (388 ms)
connection attempt #3: ok (412 ms)
connection attempt #4: ok (2240 ms)
connection attempt #5: curl: (28) Operation timed out after 5000 milliseconds with 1495525 bytes received
connection attempt #6: ok (463 ms)
connection attempt #7: ok (3487 ms)
connection attempt #8: curl: (28) Operation timed out after 5000 milliseconds with 1675574 bytes received
connection attempt #9: ok (354 ms)
connection attempt #10: curl: (28) Operation timed out after 5000 milliseconds with 1516878 bytes received
connection attempt #11: curl: (28) Operation timed out after 5001 milliseconds with 1266367 bytes received
connection attempt #12: ok (384 ms)
connection attempt #13: curl: (28) Operation timed out after 5001 milliseconds with 0 bytes received
connection attempt #14: ok (418 ms)
connection attempt #15: ok (2006 ms)
connection attempt #16: ok (444 ms)
connection attempt #17: curl: (28) Operation timed out after 5000 milliseconds with 1393741 bytes received
connection attempt #18: curl: (28) Operation timed out after 5000 milliseconds with 1865060 bytes received
connection attempt #19: ok (529 ms)
connection attempt #20: curl: (28) Operation timed out after 5000 milliseconds with 415370 bytes received

passed: 11
failed: 9

I repeated the same test using a VPN connection and everything works:

testing 20 connections to discord.com using 5 second timeout ..
connection attempt #1: ok (387 ms)
connection attempt #2: ok (436 ms)
connection attempt #3: ok (414 ms)
connection attempt #4: ok (444 ms)
connection attempt #5: ok (463 ms)
connection attempt #6: ok (481 ms)
connection attempt #7: ok (382 ms)
connection attempt #8: ok (389 ms)
connection attempt #9: ok (419 ms)
connection attempt #10: ok (409 ms)
connection attempt #11: ok (478 ms)
connection attempt #12: ok (420 ms)
connection attempt #13: ok (403 ms)
connection attempt #14: ok (412 ms)
connection attempt #15: ok (354 ms)
connection attempt #16: ok (485 ms)
connection attempt #17: ok (366 ms)
connection attempt #18: ok (454 ms)
connection attempt #19: ok (387 ms)
connection attempt #20: ok (413 ms)

passed: 20
failed: 0

The same test was performed using a 5MB file from a non Cloudflare protected site and that works ok without using a VPN.

pryswilliams
Investigator
Investigator

Also seeing the issue here (FTTC, Fibre Plus Broadband) where I'm having issues downloading docker images which are distributed via CloudFlare. e.g. >docker pull postgres starts off fine but slows down to a trickle.

Speed test on https://speedof.me/ is absolutely fine. Cloudflare speed test dramatically worse.

Here are my Cloudflare speed test results comparing vpn with a direct connection, showing up to 300% greater latency, down to 3% throughput and around 3.5k % greater download time when connecting directly, vs a VPN connection...

 

timedirectionbyteslatency  bps  duration  serverTime  responseSize  
   vpndirectdiff(%)vpndirectdiff(%)vpndirectdiff(%)vpndirectdiff(%)vpndirectdiff(%)
1.69286E+12download10000028.4020.0070%18031404.3512264737.8768%44.5066.00148%71.0065.0092%100300101184101%
1.69286E+12download10000059.4043.0072%12537481.002483091.6720%64.00326.00509%77.0073.0095%100300101186101%
1.69286E+12download10000049.0022.0045%12817894.457782753.3761%62.60104.00166%59.0072.00122%100300101176101%
1.69286E+12download10000021.8023.00106%24613414.647636975.5131%32.60106.00325%64.0057.0089%100300101190101%
1.69286E+12download10000021.3017.0080%25074947.50784372.123%32.001032.003225%70.0062.0089%100300101184101%
1.69286E+12download10000020.0016.0080%22860443.802387917.2110%35.10339.00966%78.0053.0068%100300101188101%
1.69286E+12download10000023.4039.00167%24023977.991318358.035%33.40614.001838%62.0061.0098%100300101184101%
1.69286E+12download10000025.6030.00117%21863738.777495255.9334%36.70108.00294%63.0050.0079%100300101186101%
1.69286E+12download10000021.2018.0085%25967485.438014431.8731%30.90101.00327%65.0063.0097%100300101182101%
1.69286E+12download10000021.0039.00186%23057440.791036435.294%34.80781.002244%73.0063.0086%100300101182101%
1.69286E+12download100000019.5021.00108%51795434.057009013.8914%154.501143.00740%110.0068.0062%10003001001413100%
1.69286E+12download100000023.5022.0094%49397504.645019568.7610%162.001596.00985%90.00106.00118%10003001001404100%
1.69286E+12download100000024.7094.00381%49367093.923938705.558%162.102034.001255%74.0069.0093%10003001001416100%
1.69286E+12download100000023.4020.0085%50171831.192271441.965%159.503527.002211%77.0067.0087%10003001001422100%
1.69286E+12download100000018.6015.0081%51862570.021827396.014%154.304384.002841%110.0065.0059%10003001001413100%
1.69286E+12download100000021.1061.00289%51462326.471559537.463%155.505137.003304%68.0063.0093%10003001001418100%
1.69286E+12download100000020.3019.0094%50808851.471379845.693%157.505806.003686%97.0065.0067%10003001001423100%
1.69286E+12download100000020.8063.00303%51198992.051638625.453%156.304889.003128%75.0077.00103%10003001001405100%
lms-dev
Visitor

I can also confirm that connections to Cloudflare are being throttled.

This is especially obvious when using a browser with the Secure DNS Over HTTPS set to cloudflare, as it effects ALL sites.

Using a VPN instantly fixes the issue.

bobpullen
Prodigious Contributor
Prodigious Contributor

Following this thread with interest.

For those experiencing problems, I wonder if there's any commonality in the public IP addresses you're currently assigned. Perhaps people can check and post the first two or three octects of their IP addresses to see if there's a pattern?

On a similar note, if you power your router/modem off for a period of time, e.g. an hour, and then power back up and reconnect, then you may get assigned an IP from a different range. I also wonder if this will lend any clues.

I only have access to a Plusnet connection at the moment, so unable to try replicating. No sign of a problem there: -

~$ mtr discord.com -c 50 -r
Start: 2023-08-25T08:30:47+0100
HOST: penguin                     Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- _gateway.lxd               0.0%    50    0.2   0.2   0.1   0.5   0.1
  2.|-- 100.115.92.25              0.0%    50    0.8   0.9   0.3   1.3   0.2
  3.|-- home.gateway               0.0%    50    5.1   6.0   4.1   7.9   0.9
  4.|-- 250.core.plus.net          0.0%    50   13.6  13.7  12.2  23.1   1.5
  5.|-- 84.93.253.83               0.0%    50   14.9  15.4  12.8  27.4   3.0
  6.|-- core1-BE1.colindale.ukcor  0.0%    50   15.1  14.0  11.3  15.8   0.9
  7.|-- peer8-et-3-0-1.telehouse.  0.0%    50   13.5  15.4  12.7  26.0   3.0
  8.|-- 195.99.126.233             0.0%    50   32.4  18.0  13.9  46.1   6.7
  9.|-- 172.71.176.4               0.0%    50   14.9  16.9  13.5  53.7   6.6
 10.|-- 162.159.136.232            0.0%    50   15.2  15.3  13.2  23.8   2.0

Using @andyxl987's script: -

$ sh cloudflare-test.sh
testing 20 connections to discord.com using 5 second timeout ..
connection attempt #1: ok (429 ms)
connection attempt #2: ok (392 ms)
connection attempt #3: ok (406 ms)
connection attempt #4: ok (391 ms)
connection attempt #5: ok (396 ms)
connection attempt #6: ok (408 ms)
connection attempt #7: ok (354 ms)
connection attempt #8: ok (404 ms)
connection attempt #9: ok (392 ms)
connection attempt #10: ok (379 ms)
connection attempt #11: ok (359 ms)
connection attempt #12: ok (303 ms)
connection attempt #13: ok (380 ms)
connection attempt #14: ok (465 ms)
connection attempt #15: ok (359 ms)
connection attempt #16: ok (722 ms)
connection attempt #17: ok (545 ms)
connection attempt #18: ok (436 ms)
connection attempt #19: ok (363 ms)
connection attempt #20: ok (371 ms)

passed: 20
failed: 0

 

RukaziSintakumo
Contributor
Contributor

Hey all!

Just want to come on here as well to say that I have the same issue happening recently. (roughly started a week ago)
I'm on EE Full Fibre Gigabit and have the exact same issue happening, with Discord having strange slow speeds happening intermittently. I also noticed that my latency towards US servers seems to have increased tremendously (previously around 120ms, now almost 500ms, making some online games for me impossible to play). 

I was on the phone with a lovely gentleman from EE Tech, that did the usual things (router restart, line check, etc) though nothing helped.

andyxl987
Contributor
Contributor

MTR shows last hop packet loss when the following route is used: 87.237.21.10 -> 172.71.176.4 -> Cloudflare IP.

No last hop packet loss is observed when the route is 87.237.21.10 -> 141.101.71.47 -> Cloudflare IP.

Those of you also experiencing this issue, are you based in (North) London?

I‘m located in the North-East (Newcastle)


@bobpullen wrote:

Following this thread with interest.

For those experiencing problems, I wonder if there's any commonality in the public IP addresses you're currently assigned. Perhaps people can check and post the first two or three octects of their IP addresses to see if there's a pattern?

On a similar note, if you power your router/modem off for a period of time, e.g. an hour, and then power back up and reconnect, then you may get assigned an IP from a different range. I also wonder if this will lend any clues.


I had IP addresses in the 2.28.x.x range between March and July. On or before 14th August I was assigned an address in the 2.24.x.x range. On or before 20th August I have had addresses in the 2.26.x.x range which coincides with noticing the issue.