The download speed mostly depends on the seeder-to-leecher ratio (SLR). Poor download speed ismainly a problem with new and very popular torrents where the SLR is low.
(Proselytising sidenote: make sure you remember that you did not enjoy the low speed.Seed so that others will not endure the same.)
There are a couple of things that you can try on your end to improve your speed:
In particular, do not do it if you have a slow connection. The best speeds will be found around thehalf-life of a torrent, when the SLR will be at its highest. (The downside is that you will not be able to seedso much. It’s up to you to balance the pros and cons of this.)
The upload speed affects the download speed in essentially two ways:
- Bittorrent peers tend to favour those other peers that upload to them. This means that if A and B are leeching the same torrent and A is sending data to B at high speed then B will try to reciprocate. So due to this effect high upload speeds lead to high download speeds.
- Due to the way TCP works, when A is downloading something from B it has to keep telling B that it received the data sent to him. (These are called acknowledgements – ACKs -, a sort of “”;got it!””; messages). If A fails to do this then B will stop sending data and wait. If A is uploading at full speed there may be no bandwidth left for the ACKs and they will be delayed. So due to this effect excessively high upload speeds lead to low download speeds.
The full effect is a combination of the two. The upload should be kept as high as possible while allowing theACKs to get through without delay. A good thumb rule is keeping the upload at about 80% of the theoreticalupload speed. You will have to fine tune yours to find out what works best for you. (Remember that keeping theupload high has the additional benefit of helping with your ratio.)
If you are running more than one instance of a client it is the overall upload speed that you must take into account.Some clients (e.g. Azureus) limit global upload speed, others (e.g. Shad0w’s) do it on a per torrent basis.Know your client. The same applies if you are using your connection for anything else (e.g. browsing or ftp),always think of the overall upload speed.
Some operating systems (like Windows 9x) do not deal well with a large number of connections, and may even crash.Also some home routers (particularly when running NAT and/or firewall with stateful inspection services) tend to becomeslow or crash when having to deal with too many connections. There are no fixed values for this, you may try 60 or 100and experiment with the value. Note that these numbers are additive, if you have two instances ofa client running the numbers add up.
Isn’t this the same as above? No. Connections limit the number of peers your client is talking to and/ordownloading from. Uploads limit the number of peers your client is actually uploading to. The ideal number istypically much lower than the number of connections, and highly dependent on your (physical) connection.
As explained above peers favour other peers that upload to them. When you start leeching a new torrent you havenothing to offer to other peers and they will tend to ignore you. This makes the starts slow, in particular if,by change, the peers you are connected to include few or no seeders. The download speed should increase as soonas you have some pieces to share.
Your download speed is always finite. If you are a peer in a fast torrent it will almost certainly saturate yourdownload bandwidth, and your browsing will suffer. At the moment there is no client that allows you to limit thedownload speed, only the upload. You will have to use a third-party solution, such as NetLimiter.
Browsing was used just as an example, the same would apply to gaming, IMing, etc…