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

This is similar to How can I prioritise network bandwidth on a per application basis?, but does not require control over priorities.

I am working on an Ubuntu 11.04 laptop connected to a rather slow 1 Mbps Internet connection. When there is a connection that saturates the network (such as streaming a YouTube video), I find it difficult to load other pages or otherwise use the network. It seems that Linux is not as smart as Windows when multiple connections need to share bandwidth--in Windows, the system will try to distribute bandwidth relatively evenly across all active connections. This also happens with an older openSUSE-based system I had used as well.

Is there something I can do to make the system share bandwidth across the programs that need it more evenly, so that streaming video does not interfere with other web browsing, for example? I'd like to avoid low-level changes such as kernel reconfiguration, preferring a relatively simple userspace solution.

share|improve this question
Nothing will really work well. Normal residential Internet access is just not designed to do this. The problem is that by the time your computer receives a packet, the earliest you can do something about it, it has already consumed your bandwidth, so it's already too late. Priority needs to be enforced on the other end of the link, the side that controls what packets get put on the link, how large the queue is, and so on. – David Schwartz Jun 28 '12 at 22:31
Then why does Windows cope better with multiple simultaneous connections? – bwDraco Jun 28 '12 at 22:36
I don't think it does. Windows doesn't make any special attempt to distribute bandwidth evenly. How could it -- it just receives the packets and passes the data to the applications. (It's possible that you are using some applications on Linux that do particularly boneheaded things such as disabling Nagle. Applications can have an effect.) – David Schwartz Jun 28 '12 at 22:57
up vote 1 down vote accepted

You should look at traffic shaping. It doesn't share traffic on a per application basis, but will prioritize based on ports being used. Shrinking your maximum TCP window size may also help. Some approaches to traffic shaping are designed to shrink windows when too much data is flowing. Generally, traffic is shaped to consume less than the full available bandwidth, usually about 90% or so.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .