Tips to increase BitTorrent download speeds

November 13, 2007 by sharky

Striving to get the most out of your bandwidth? Struggling with slow BitTorrent download speeds? The first step is to see if your BitTorrent client is properly configured through the settings - a simple tweak here and there can drastically improve the download speed. Here are some other suggestions to fine-tune your downloading to maximize those torrents:

— Do not ‘Force Start’ your torrents. While doing this seems to ’start’ all torrents when some are waiting in a queue, this in fact spreads out your upload capacity over too many connections thus impacting your download speed. You are better off to change your settings to allow more current simultaneous connections/downloads.

— Do not operate torrents in ‘Super-Seed’ Mode. Super-seed mode is NOT recommended for general use. While it does assist in the wider distribution of rare data, because it limits the selection of pieces a client can download, it also limits the ability of those clients to download data for pieces they have already partially retrieved. Therefore, super-seed mode is only recommended for initial seeding (ie. new torrents from the original uploader), or for re-seeding.

— Enable ‘DHT network’ and ‘UPnP port mapping’ but disable ‘NAT/Firewall configuration’. Also, change the ‘Max Connections per task’ and ‘Max simultaneous half-open TCP connections’.

Click to EnlargeIn BitComet: Go to OPTIONS > Preferences and select the “Connection” tab to the left. If you find BitComet REALLY slow (or not working), make sure that “Enable NAT/Firewall configuration in ICS/ICF” is turned OFF (unchecked) and “Remove port on NAT/Firewall when exiting” is turned off (unchecked). Make sure that “Enable DHT network” is turned ON (checked) and “Enable UPnP port mapping” is turned ON (checked) as well. Now, change your “Maximum connections per task:” number to 100 or higher (you can do this by clicking on the words) and more importantly, change your “Max simultaneous half-open TCP connections” to 100 or higher (see TCP LIMIT below). Click OK to accept these changes, now close and restart BitComet.

— Setting a proper upload limit:

Another thing you can do to optimize your speed with BitComet (or any other BitTorrent client), is to set a proper upload speed. With BitTorrent, you need to upload in order to maximize downloading, but you don’t want to set the Upload settings too high or else now it starts to eat into your download bandwidth. And you don’t want to set it too low, or else the trackers will recognize this and your downloading speed will be reduced. First, set your “Global Max Download Rate” to NO LIMIT. Second, set your upload speed to be about 80% of what your total upload bandwidth is. Do NOT ask your Internet Service Provider to tell you the upload limit, since there are too many variants involved. They can tell you what bandwidth package you subscribe to, but they can’t tell you the real number. Go to www.dslreports.com/tools and click on the ‘Speed Tests’ link there. MAKE SURE that you stop all Internet activity first (P2P, online games, file downloading, etc.) or else you will get false results. Choose one that is nearest your city, or experiment with them. What you’re looking for here is consistent “upload” speed results. Run the test a few times until you see a similarity between all results and the upload speed. For this example, my upload speed is “743 Kbps” or 743 Kilobits/second. But what I really need is the number measured in Kilobytes (not Kilobits), so I must multiply 743 by 1/8 to get it into Kilobytes. 743 X 1/8 (or 743 X 0.125) = 92.9 KB/s. Now I need 80% of 92.9 (or 92.9 X 0.8) which is 74 KB/s (I have mine set at 65 since I run other Internet programs). But the most important thing is for me to keep that setting under 92.9, or it’ll hog some of my download speed.

For Azureus users, there’s a built-in speed tester right in the program itself. Go to TOOLS > Speed Test… and select either ‘BT Upload’ or ‘BT Download’. However; we found the Azureus results to be about 30% lower than the DSLReports tests (even with an idle connection) so stick with the latter for more accurate ‘overall’ bandwidth results.

Click to EnlargeAnother thing you should change is the “Max Simultaneous Download Tasks Number”. This is the number of tasks that BitComet can run at the same time - change this to a higher number. Most BitTorrent clients, if not all, allow (and require) an increase in these connections. The default settings are usually set very low to accommodate lower-end PCs and PCs with minimal Internet bandwidth.

More Internet Speed patches for Windows can be found here, and they’re FREE (but untested).

Something else that may help (but we don’t use or endorse it) is called GreedyTorrent, which will report your uploads-to-downloads as a much higher ratio than what they really are. This sounds like it could be a blessing or a boon to people who use private trackers. The blessing? You appear as the ‘model citizen of BitTorrent’ to trackers which will then speed up your downloading as a reward. The boon? They find out what you’re up to, ban you from their trackers (and the website) and you’ll be getting no access to their torrents. There are testimonials that go both ways on the issue. One thing is for certain: Looking at the bigger picture, it’s not good for the BitTorrent community.

The WinXP - TCP Max. Connections Fix:

The Tip below is for WinXP SP2 only - see below for Vista patch.

Ed.’s Note: OK, I’m aware that this article on the TCP fix has been done to death. It’s everywhere. Since I discuss the TCP Vista fix, I had to include the Win XP one as well.

I’ve used BitComet as the model for my examples on how to optimize speed and change settings etc. because I’m familiar with it. If you don’t use BitComet, then use these steps as a guide for what you’ll need to do. All programs are configurable in a similar manner.

Windows XP Service Pack 2 (SP2) limits the number of allowed open concurrent TCP connections to 10 per second (rather small). This was designed as a security measure to reduce the spread of worms and malware throughout the Internet. Unfortunately this restricts your Internet connection for almost everything that uses it. Users of WinXP (no service pack) and WinXP (with Service Pack 1) are exempt from this problem, as they have an unlimited number of TCP connections.

If you run XP SP2, you will need to increase the number of TCP connections that are allowed. TCP connection allowed should be 100 for optimal performance (some say 50 is best, some say 150 or more). There are a few ways to do this. First, you can attempt to find the patch at Microsoft.com (yes, they did release one, but I had no luck finding it through all the gobbledygook). Or you can do it within µTorrent or BitComet (versions 0.55 and higher). Run BitComet and select OPTIONS > Preferences from the menu. Click on the “TCP/IP Limit” tab and look to see what it says for “Current Half-Open Limit:” If this says 10, then you need to change the “New Half-Open Limit:” to 100, making sure to put a checkmark in the box “Disable the System File Protection” so that it works properly. Now click the APPLY button to the right.

Click to Enlarge

If it was successful, you will get this message:

Click YES to restart the computer. After restart, run BitComet again and view your new settings. The new limit should say “100″.

Click to EnlargeIf this didn’t work (or you don’t use BitComet or µTorrent), and your “Current Half-Open Limit” is still set to 10, you can do it yourself with the Llvlord patch from here: http://www.lvllord.de. Download the *.ZIP file and extract it. Now, run “EvID4226Patch.exe”, you should see this screen (see right): Here, type “C” to change limit and enter the new number of 100, and hit enter. Then type “Y” for YES, wait 15 seconds for the patch; it should say “successful”. Restart your computer.

NOTE: This procedure (or the BitComet procedure) may have to be redone whenever a new service pack is installed to your computer. And note that neither of these methods will patch the TCPIP.SYS for Windows Vista.

NOTE: Increasing the TCP limits within BitComet are not exclusive to downloading faster with just BitComet, since this is a WinXP system fix, not a BitComet fix. All Internet-based programs including P2P programs, online gaming, and streaming video websites should now be faster at downloading!

The Windows Vista TCP fix:

It seems that Microsoft has decided to keep a limit on concurrent TCP connections with its new OS Vista, despite complaints from WinXP users. Unlike XP SP2 (with a hard limit of “10″) the Vista limit depends on the version of Vista. For instance, ‘Home Basic’ comes with limit of only 2, and ‘Vista Ultimate’ has a limit of 25.

And fixing this is trickier, due to enhanced security by the beloved Microsoft Team. Also note there are 32-bit (x86) and 64-bit (x64) versions of Vista to complicate things, each with its own specific TCPIP.SYS file, requiring specific patches and instructions. Moreover, there are different builds of the TCPIP.SYS file itself: v6.0.6000.20645 and v6.0.6000.16386 (and others).

Presently we decided not to comment on or endorse the instructions of this fix. We do not run VISTA and will not document anything on FileShareFreak.com that we haven’t personally tested ourselves. However, we did find an official Microsoft Windows Vista TCP patch to fix this here.

Here’s some other unofficial links to sites with more information, forums and the patches required, and here’s a link directly to another unofficial patch from SoftPedia. But be warned: I have read numerous reports of people losing their Internet connection and/or the computer won’t even boot after applying the ‘wrong’ patch. Stick with a patch from MS.

There is also a patch called “VistaTCPPatch” - a GUI based patch.

For other speed-related settings, check out Firewall Settings and ISPs & Speed.