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?
Unexpected Speed Limit, Linux Only
Moderator: Project members
Re: Unexpected Speed Limit, Linux Only
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
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)?:
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
...Actually, correction: that article said to "check" (the knobs I presume):
However, that actually outputs nothing. So I remain a bit unsure.
Code: Select all
sudo sysctl -p
Re: Unexpected Speed Limit, Linux Only
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.
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
Perfect, thanks again!