Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We are using a business Ethernet connection (3Mbit upload, 3Mbit download) and trying to understand issues with our tested bandwidth speeds. When uploading a large file we sustain 340 KB/s; downloading we sustain 340KB/s. However when we run these transfers simultaneously the two transfer speeds rise and fall erratically with a average speed for both at around 250 KB/s. We're using a Hatteras HN404 CPi and we've bypassed the router (plugged a machine directly into the Hatteras; set the NIC to full-duplex).

Is this expected? Should a max upload interfere with a max download on this type of Internet connection?

share|improve this question

You have to understand that even when you are downloading, you are also uploading data (headers) in order to fetch the proper resource and to tell the server that you are ready to receive the next packet.

If all your upload bandwidth is clogged, those packets are delayed until you are able to send them, which slows down your download speed.

The same applies in the other direction. When uploading a file, depending on the protocol, your machine will expect a certain response between parts. That response consumes download bandwidth and if there is no bandwidth available, your receiving of that packet is delayed, reducing your upload speed.

In order to achieve maximum performance, try to throttle your resources so that they are limited to ~90% of available bandwidth on both sides. That way, you have a ~10% always available for protocol messages.

share|improve this answer
Not only do the acknowlegdements get delayed, but if they are delayed for too long then the sender will start re-sending segments, making the problem even worse. – pipTheGeek Feb 9 '10 at 19:51

You must log in to answer this question.