Page 1 of 1

Unexpected Speed Limit, Linux Only

Posted: 2020-07-21 05:45
by metal450
I use Filezilla on both Windows & Linux. They both run on the same PC (dual boot), same network, and both copies are configured identically (I actually copied the config files - i.e. sitemanager.xml, filezilla.xml, etc).

On, Windows I get the expected transfer speeds (i.e. 10-12MiB/s) - but on Linux, transfers always seem to behave as though they're capped at exactly 2MiB/s. If I copy 2 files in parallel, they each go 2MiB/s. I'm 100% certain that Settings->Transfers->Speed Limits is disabled ("Enable speed limits" is not checked). Yet for some reason, it behaves as though each connection has exactly a 2MiB/s speed limit. This speed limit is not being applied by the system - i.e. I can download files in Firefox significantly faster than 2MiB/s, so this behavior is unique to Filezilla.

Why would it be limiting transfer speeds like this, when the transfer speed limit is not enabled?

Re: Unexpected Speed Limit, Linux Only

Posted: 2020-07-21 08:09
by botg
Check your sysctl knobs, your memory limits are too small. The defaults for net.ipv4.tcp_mem and net.ipv4.tcp_rmem are not suitable for modern day networks. There's also an odd behavior in the kernel where a request for a large buffer actually decreases the window scale factor from the default.

Re: Unexpected Speed Limit, Linux Only

Posted: 2020-07-21 08:17
by metal450
Thanks for the quick reply.

I'm very new to Linux so I'm not familiar with these settings, but a quick Google turned up: https://wwwx.cs.unc.edu/~sparkst/howto/ ... tuning.php. As it sounds like you're already very familiar with this, can you confirm that these are good/suggested values (and the appropriate commands that you had in mind)?:

Code: Select all

sysctl -w net.ipv4.tcp_mem='8388608 8388608 8388608' 
sysctl -w net.ipv4.tcp_rmem='4096 87380 8388608' 

Re: Unexpected Speed Limit, Linux Only

Posted: 2020-07-21 08:19
by metal450
...Actually, correction: that article said to "check" (the knobs I presume):

Code: Select all

sudo sysctl -p
However, that actually outputs nothing. So I remain a bit unsure.

Re: Unexpected Speed Limit, Linux Only

Posted: 2020-07-21 08:34
by botg
Use sysctl -a to show current values.

I'd go by increasing the second and third values in the triplet, e.g. by doubling them and then measure performance. If it has improved, repeat the process until there is no further improvement.

Re: Unexpected Speed Limit, Linux Only

Posted: 2020-07-21 08:36
by metal450
Perfect, thanks again!