I’m using a BitTorrent client (Transmission) to download a very large file. When I had my upload bandwidth restricted to 20KB/s, my upload rate was around 12KB/s and my download rate was somewhere around 3KB/s. Using the Internet had gotten really slow, too, which was astonishing given my low download rate. I figured that maybe my upload rate was the problem: My commands and requests had to wait for a window to get sent out. So I limited my upload bandwidth to 10KB/s, and suddenly my browsing and SSH experience improved dramatically. Weirdly enough, my torrent download rate also improved and now hovers around 8KB/s. I guess the full upload pipe was restricting some necessary torrent requests, too. Weird.
On IRC, I got an explanation to match:
You don’t say which type or what speed your ’Net connection is, but what you describe is typical of ADSL circuits in particular, though occasionally applicable to cable circuits as well. When your upload speed approaches saturation of your upload bandwidth maximum, your downloads will slow to a crawl. This is because there is no ’room’ left for your download ’ACK’ signals to be uploaded back to the server(s) from which you are downloading. Typically, you must reserve about 3-4KB/s of your upload bandwidth to handle your ACKs from downloads. – Lacrocivious on #transmission
I now limited my upload rate to 9KB/s and am doing fine with download rates up to 17KB/s... 😄
I limited the upload rate to 8KB/s and saw download rates soar up to 20KB/s. I feel like a leech.
#Software
(Please contact me if you want to remove your comment.)
⁂
One thing that seems to help a lot is controlling the maximum number of open connections. I usually only allow 10 connections per downloaded item (max_connections 10 as a commandline option). Also, if you use the shorewall firewall, you can lower the priority that bittorrent packets are processed, so that web browsing and SSH are slightly more snappy.
– MichaelOlson 2006-04-18 00:38 UTC