Speed measurement applications are not always good.
From the SSH console within CoreELEC I have executed the following transfer commands for a 500MB file:
CoreELEC:~/scripts # curl -o 500MB.zip ftp://speedtest.tele2.net/500MB.zip
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 500M 100 500M 0 0 30.3M 0 0:00:16 0:00:16 --:--:-- 27.8M
CoreELEC:~/scripts # curl -T 500MB.zip ftp://speedtest.tele2.net/upload/500MB.zip
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 500M 0 0 100 500M 0 14.6M 0:00:34 0:00:34 --:--:-- 24.6M
Results:
Average download speed in bytes: 30.3 MB/s
Average download speed in bits: 30.3 x 8 = 242 Mbps
Average upload speed in bytes: 14.6 MB/s
Average upload speed in bits: 14.6 x 8 = 116 Mbps
Getting these results with SpeedTest is IMPOSSIBLE, especially the upload speed.
CoreELEC device: Amlogic S912 Mecool KIII Pro