Hello rejetto,
I would like to thank you for your response and your interest. I have done some tests hoping they may help. Feel free to request me any further information.
Regards,
psyxakias.
*** I will name "host" the connection/pc that HFS is installed and "download" the connection/pc that performs the downloads tests ***1 & 2) Host machine is connected into a 100 Mbps LAN (shared connection) and download into a 20 Mbps broadband (which is currently ADSL synchronized at 16 Mbps for more stability)
3) I receive 38.4 kB/sec with HFS and 1 single connection and up to 350-400 kB/sec with 10 connections
4) I receive 236 kB/sec with shttpd (with modified buffer!) and 1 connection up and up to 1.41 mB/sec with 10 connections into the other daemon
5) I monitored CPU usage accurately into all the tests and host machine never had higher than 4-5% CPU (average 1-3%) and download machine never had higher than 16% (average 8-14%)
PC/CONNECTION INFORMATIONHOST connection: 100 Mbps up/down (shared into a LAN)
DOWNLOAD connection: 16 Mbps down / 512 Kbps up
HOST CPU usage (during transfer): 1-2%
DOWNLOAD CPU usage (during transfer): 5-8%
Latency between HOST & DOWNLOAD: minimum/200ms, maximum/205ms, average/202ms
Duration of each test: 30 seconds
Notes1. All programs were closed into both machines, keeping them completely idle
2. Host's connection is shared with other PCs (so it wasn't idle), while Download's connection was not used by other PCs
[ TESTS with 128480 RWIN on DOWNLOAD machine ]HOST to DOWNLOAD via HFS (format= connections: speed)1 connection: 38.4 kB/sec
2 connections: 85.0 kB/sec
3 connections: 120.1 kB/sec
4 connections: 163.2 kB/sec
5 connections: 202.7 kB/sec
6 connections: 246.1 kB/sec
7 connections: 278.5 kB/sec
8 connections: 312.6 kB/sec
9 connections: 368.8 kB/sec
10 connections: 407.4 kB/sec
NOTES: In all tests, the speed was very stable (-/+ 5 kB/sec, no spikes)
HOST to DOWNLOAD via shttpd using 1 connection (format= buffer: speed)16384 buffer: 42.0 kB/sec
32768 buffer: 139.4 kB/sec
65536 buffer: 303.0 kB/sec
131072 buffer: 171.3 kB/sec
262144 buffer: 172.9 kB/sec
Notes: Even if I increase the buffer to anything higher, the average is about 172 kB/sec with 1 single connection
HOST to DOWNLOAD using shttpd at 131072 buffer (format= connections: speed)2 connections: 287.7 kB/sec
3 connections: 535.1 kB/sec
4 connections: 609.1 kB/sec
5 connections: 745.9 kB/sec
6 connections: 914.2 kB/sec
7 connections: 860.9 kB/sec
8 connections: 1.27 mB/sec
9 connections: 1.29 mB/sec
10 connections: 1.20 mB/sec -- Notes: somehow it slowed down here, might was related with my connection
Notes: there were some spikes but all samples were taken only once the speed stabilized to avoid inaccurancy
HOST to download using shttpd at 262144 buffer and multiple connections (format= connections: speed)10 connections: 1.32 mB/sec
[ TESTS with 511104 RWIN on DOWNLOAD machine ]HOST to DOWNLOAD using multiple daemons/settings1 connection with shttpd (262144 buffer): 236.9 kB/sec -- Notes: stable speed (performance improved from 172 kB/sec before the RWIN adjustment)
1 connection with HFS: 42.5 kB/sec -- Notes: stable speed
-
10 connections with HFS:
353.5 kB/sec -- Notes: almost stable speed
10 connections with shttpd (131072 buffer): 1.20 mB/sec -- Notes: no spikes, stable speed
10 connections with shttpd (524288 buffer):
1.41 mB/sec -- Notes: stable speed, almost maxing my connection
-
3 files x 10 connections with shttpd (524288 buffer):
1.67 mB/sec -- Notes: stable speed, maxing my connection
3 files x 10 connections with HFS:
595.6 kB/sec -- Notes: unstable speed
My conclusionsThere is no doubt that there is some connection bottleneck between download and host connection (not HFS' fault at all), because I've seen some people that are physically closer to Host pc to succeed almost maximum speeds but all the people in my area have same exactly the same slow speeds as me, unless I use shttpd with modified buffer which helps me and others with similar results.
Since there isn't much I can do to improve the connection (further than complaining to ISPs for problems into specific routes, which I already did and did not really help), I was wondering if there could be some similar setting into HFS that would be "auto" by default (to have it as now) and "manual" to set my own buffer settings like I do with the other daemon. If you can even make a test version and wanna see if there's a difference, feel free to contact me, I'll be glad to test it.
Thanks again for your time looking into this.