Why download speed is such limited by upload speed ?

Anything that prevents you from playing the game properly. Do you have issues playing for the game, downloading it or successfully running it on your computer? Let us know here.
Post Reply
ever_Lord
Inserter
Inserter
Posts: 20
Joined: Thu Apr 02, 2020 7:20 pm
Contact:

Why download speed is such limited by upload speed ?

Post by ever_Lord »

Hello factorians, i cant find an answer to this question :

My download speed connection is 2Mbytes/sec, but when i download a map, it is always limited to 585Kby/sec, is there any config or trick to get a better download speed ?

If needed my upload speede connection is about 100Kby/sec

Thanks for your time !
Last edited by ever_Lord on Mon Jul 26, 2021 11:57 pm, edited 2 times in total.

diederTheBeater
Inserter
Inserter
Posts: 32
Joined: Tue Apr 25, 2017 6:51 pm
Contact:

Re: Download Speed

Post by diederTheBeater »

I have a more beefy connection but observed a very very interesting thing today that might be related to your Problem.

I have the suspicion that the map download of factorio can be easily UPLOAD bound on the client side
My supporting data
Since today i have a new Internet provider.

Code: Select all

Previous:   6Mbit↑  120Mbit↓
New:       40Mbit↑  100Mbit↓
Basically my download is slightly slower, but i have much stronger upload now. I often test my Internet connection, so i am confident that the information from the ISP is indeed correct!

I download the map from my self hosted headless server. Previously i attributed my slow download to the upload performance of my server, however after i got my new connection i spinned up

Code: Select all

iperf
verifying, that my server is capable of supporting my full up and download, basically ruling out that the server could be the bottleneck.

Additionally i observed a astonishing speedup of the map download with my new connection which is totally weird given the slower download in my side.

Having a look at my router supports my suspicion
factorio map download.png
factorio map download.png (17.04 KiB) Viewed 1910 times
My upload during the map download is higher than my previous internet connection could provide. With an upload of about 15Mbit, factorio seems to need an upload of about 15-20% of the download bandwidth. This is very much in alignment with your download speed (100upload / .15 ≅600download) .

diederTheBeater
Inserter
Inserter
Posts: 32
Joined: Tue Apr 25, 2017 6:51 pm
Contact:

Map download speed bound by upload speed

Post by diederTheBeater »

I am really not sure if this should not rather be considered a bug.

Also i would suggest to rename the thread title to something like "Map download speed bound by upload speed" or anything that is more specific such that the devs know that it seems related to upload

ever_Lord
Inserter
Inserter
Posts: 20
Joined: Thu Apr 02, 2020 7:20 pm
Contact:

Re: Download Speed

Post by ever_Lord »

i've been upgraded to adsl2+ or something, and both my upload and download speeds are much much faster, therefore i am no more limited in downloading maps.
i'm pretty sure connecting to a multiplayer game makes factorio send a lot of data from client to server, and server stops sending until he gets some data back (acknowledgment of receipt?)
i guess there must be a good reason for that behavior, but it dont get it. feels weird to me.

SoShootMe
Filter Inserter
Filter Inserter
Posts: 475
Joined: Mon Aug 03, 2020 4:16 pm
Contact:

Re: Download Speed

Post by SoShootMe »

ever_Lord wrote:
Mon Jul 26, 2021 11:56 pm
i'm pretty sure connecting to a multiplayer game makes factorio send a lot of data from client to server, and server stops sending until he gets some data back (acknowledgment of receipt?)
i guess there must be a good reason for that behavior, but it dont get it. feels weird to me.
There's no guarantee that packets that are sent will be received - they may be lost in transit for various reasons. For Factorio, all the map data must be received, and the only way for the sender to know that is the case is when it receives (as you mention) acknowledgement from the recipient. (Also consider data may be received, and an acknowledgement sent, but the acknowledgement may be lost in transit.)

I haven't looked at Factorio's protocol in any detail but the behaviour described in this thread suggests Factorio uses an algorithm that is similar to TCP (note in particular flow control behaviour, which gives conditions/reasons for "server stops sending"). However I guess it has a lower ratio of data size to acknowledgement size, meaning that a low upload speed is more likely to limit the download speed than for TCP. Note that for TCP, the "bandwidth-delay product" creates another possible limit, and it is likely that also applies to Factorio's protocol.

Post Reply

Return to “Technical Help”