Single connection not reaching max bandwidth

Tigertank

Weaksauce
Joined
Jan 11, 2007
Messages
95
I have an issue with ftp or http connections to a system running windows vista ultimate not reaching maximum available bandwidth when uploading to clients. This same issue has appeared with microsoft IIS, Wamp (windows apache), and filezilla ftp server. I have 20mbps fiber connection in good working order. Speedtests and NDT server tests confirm 19.5mbps on the line in both directions. With all of the above server software max upload speed has been 250 KB/Sec around 10% of what the line should be capable of. Multiple connections at the same time yield the same result to each upload. (5 active connections at the same time, all downloading at 250KB/sec) The bandwidth is there but is some how being limited to each socket connection.

I have tried to adjust "DefaultSendWindow" (AFD Socket Buffer) registry entry anywhere from 64kb to 512kb with no results. The only software mentioned above that I have seen that has user defined socket buffer size in the application was filezilla ftp server, and adjusting it at the application level had no impact on download speed. Are there any experts who have good knowledge of Vista's TCP stack that might have an idea what's going on here?
 
no real insight im afraid, have you tried iperf or something rather than random protocol x?
 
That's gonna be one of my next steps is to use either iperf or jperf with several different clients and test both TCP and UDP traffic. As well as get a ubuntu distro online and see how linux fares. This was really just a bandaid until I get a proper linux server box built anyway.
 
Are you sure the bandwidth available to those connecting to you is high enough to max out your connection?
 
Havn't had access to anything in excess of 20mbps to try to max out, but known working connections around 10mbps with properly configured receive windows and latency between 50ms to 75ms still get the same slow speeds.
 
Tiger, this is actually by design. No single TCP connection should ever max out your bandwidth. This is to minimize congestion issues for every one. I would advise reading about how operating systems implement congestion avoidance in TCP for a better understanding.
 
Are you on a business line that gaurantees you the bandwidth (eg T1), or on a shared connection like FIOS, which does not gaurantee that you will have the maximal amount of bandwidth the line has to offer 24/7?
 
I'm aware of tcp congestion avoidance methods such as Tcp Slow Start, and an option in vista's case Compound Tcp. That has nothing to do with a 20 Megabit connection achieving only 250 Kilobytes /sec transfer rates. Even under Tcp Slow Start the negotiated bandwidth would gradually increase as ACKs are recieved with no segment loss. This is not happening.

The line is also 20mbps dedicated bandwidth fractionally fed by an OC-3. I have a cisco 1841 in front of the systems. Router is plenty capable and is not a bottleneck. I got ubuntu up on a seperate hard disk as a testing base, and apache has no trouble sending clients files at top speeds. This appears to be purely a windows vista issue limiting bandwidth at the socket level. I would still like to track down this problem and squash it, but I do see myself getting a linux server built asap.
 
Back
Top