Mini-guide to help all of you with your speed problems.
By 1c3d0g
Mirrored form http://forum.utorrent.com/viewtopic.php?id=3912
OK, there’s been a lot of “ppl hlp me with my up/down speed plz!!!” threads lately, so I’m going to give y’all a hand here and help you the best I can. This mini-guide certainly isn’t a definitive “end all speed problems”, but it should help you get better speeds if your struggling to achieve a high throughput on your machine. I’m going to assume you have a Windows XP machine since that’s the OS (Operating System) I’m basing my recommendations on. Sorry, I don’t have access to older M$ OS…besides, it’s about time you upgraded to something newer, no? tongue
Now that that’s out of the way…let me say a few words in advance. First of all, there is no “rule-of-thumb” when it comes to BitTorrenting. I’m certainly no expert on BitTorrent, so the settings I present here have worked best for me. Your particular situation will be different than mine, so experiment with these values until you achieve the speeds you’re looking for.
Secondly, I’m going to assume you have a Network OK message in your status bar, because if you don’t, you’ll never get reasonable speeds and you’ll need to refer to my stickied post on how to properly ask for help about this. smile
Thirdly, and I’ll keep stressing this point: more connections != more speed. For those that still don’t understand this, it means more connections does not equal greater speeds, unless you have the bandwidth to back it up (in other words, a really fast upload speed). Don’t bother setting extreme values like 1,000,000,000 because it is not going to help you at all, in fact it’s going to use up so much bandwidth (if there are many seeds/peers in a swarm to connect to) that there won’t much bandwidth left to actually download/upload, hurting the swarm even more. Just don’t do it! mad
In the same breath, I must also say that BitTorrent in general is a very dynamic creature. It is not Kazaa, Gnucleus, or eMule. Your upload speeds may be constant, but your download speeds will not be constant. Maybe in a LAN (Local Area Network) environment, but certainly not on the Internet. This is just the way it is….get used to it. hmm Your up and (especially) down speeds will rise and fall continuously as seeds and peers come and go.
Another thing I’ll have to mention is: ● kB/s = kilobytes per second
Don’t confuse this with:
● kb/s = kilobits per second
There’s an enormous difference in speed between these two measurements (think eight-fold, in other words: 8x !), so make absolutely sure that you’re using the correct format to describe your connection throughput.
Also, be realistic! If your upload is only 128 kb/s (= 16 kB/s effective), and your download is 4x faster (or even greater than that), let’s say 640 kb/s (= 80 kB/s effective), do not expect your download to be maxed out every time! In fact, a realistic expectation for a well-seeded torrent (a swarm with many seeds and few peers - ratio 10:1 or higher) would be around twice (2x) your upload speeds…in this case it would be about 18~22kB/s. Remember that this speed would be reached in an ideal, well-seeded torrent, but unfortunately for you and I, this is usually not the case with public trackers (where leechers far outnumber the few poor seeds trying to keep a torrent going). sad
So, in light of this, in a “normal”, poorly seeded torrent, you should expect your download to be equal to or slightly less than your upload…in this case 9~11 kB/s, possibly lower. You see, the problem with BitTorrent in general is that almost everyone has a huge download capacity, but on the other hand most have a very poor upload speed. This is certainly not good for the health of a torrent, and it’s this disproportionate ratio that really is the bottleneck of most torrents, and the primary reason of why you and I cannot reach our maximum download speeds most of the time. neutral
BitTorrent rewards people who upload very fast with a great download speed, which is why I’m going to concentrate heavily on getting your upload tweaked just right. In fact, once your upload speed is optimized, your download speed should come automagically (let’s ignore swarm problems for a minute). There are many, many factors factors that can contribute to a poor download/upload speed, but we’ll see how many of those we can eliminate. The advice I give here is completely free, so I’m not responsible if your PC goes up in smoke or suddenly turns into a Terminator and decides to slap you back. You’ve been warned…
Still here? Good. big_smile The first thing I’m going to address is of course: drivers. Those magical little programs that control your hardware need to be updated to the latest version to make sure they’re not the culprit of your poor speeds. Developers regularly squash bugs with most new releases, so it’s imperative that you update:
● Your motherboard chipset drivers:
○ Intel ○ nVidia ○ ATI ○ Via ○ ULI ○ SiS
● Your NIC (Network Interface Card) drivers…usually you’ll be using the integrated motherboard one, but if you’re using a standalone PCI(e) card, please update that one as well. Forgive me, if I’ve forgotten to mention your motherboard chipset manufacturer…these ones are all that I know of. hmm Of course, with standalone NIC’s it’s impossible for me to list all the manufacturers here so you’ll have to Google them yourself.
Firmwares also play a very critical role in the day-to-day operation of your equipment, and they can also be responsible for miserable speeds. I highly suggest updating your network device’s firmware to the latest available. Again, Google is your friend and can help you find out where you can download the latest firmware. If you have a Linksys WRT54G(L)/GS router, please refer to Firon’s FAQ section on Linksys routers.
The next thing I’m going to focus on is your BIOS (Basic Input/Output System). Yes, I can already hear the outcries of some people. Unfortunately, I’ve seen some pretty crappy BIOS releases that totally break down an otherwise perfectly working motherboard. If you’re having all sorts of problems, sometimes a simple BIOS upgrade automagically fixes all of your problems. It really can save everyone many headaches. So, if you’re on a Beta BIOS, or haven’t updated your BIOS in a long time, now is the time to flash it to the latest version. Find out the exact make and model number of your motherboard and then Google the manufacturer of your motherboard to get your BIOS file. The usual warning applies here as well: back up all your important data and programs, because a failed BIOS upgrade can render your system inoperable! yikes Flashing a BIOS is equal to having an open-heart surgery done on your PC, so be very careful and follow all instructions to the letter (print it out if you can). When the flashing is in progress, don’t even touch the keyboard, mouse, or anything else! Just leave them alone (let it do its thing) until you’re advised to continue.
I’m also going to recommend setting your insane overclocks back to their default values. Personally I’m not a fan of overclocking, and regardless of what everyone else may have told you, overclocking stuff past their manufacturer’s recommended specs will make some things work unstable, cause unexpected behaviour and/or shorten the lifespan of your hardware…believe me. So just set everything back to original factory clock speeds to rule out any (hidden) instabilities. smile
Also, I want to make sure your hard disk is properly tuned to read/write bits & pieces of data as fast as possible too. I won’t go into details, as this is not a technical guide, but let’s just say that DMA (Direct Memory Access) speeds up your drive quite a bit, so you want to make sure it’s set in that mode and not in PIO. Sometimes a drive will revert back to PIO mode if a certain amount of “corruptions” or failures have ocurred, usually around 5. It’s important to keep checking the modes the drives are operating in from time to time. Anyway, the instructions are roughly as follows: Right-click My Computer ▶ Properties ▶ Hardware ▶ Device Manager ▶ IDE ATA/ATAPI controllers ▶ Primary IDE Channel ▶ Advanced Settings. Click on the drop-down menu and select DMA if available. Click OK. If you have more drives, set them to DMA as well. You may also want to do this for the Secondary IDE Channel. As a last step, defragment your hard disk regularly with Disk Defragmenter, since using BitTorrent generally will cause your hard disk to be fragmented more often.
Firewalls can be very useful in blocking malicious packets and the like. However, because of how some of these firewalls operate, they tend to interfere with your BitTorrent program and cause some (or quite a few) connectivity issues. Your best bet is to completely uninstall them if you suspect they have something to do with your slow speeds. If your speed magically comes back, then you know what the culprit program is. Tip: if you have a router, it may be possible that you have a built-in hardware firewall - and if this is the case - you don’t have to use a software firewall (save those CPU cycles and RAM for other things). Anti-Virus software can also be of great help in protecting your very vulnerable Windows-based PC. Some Anti-Virus programs will scan all files as soon as they’re written down. Although this is not a bad idea, it can sometimes really cripple your download speeds, particularly if you have a fat pipe. For more information regarding these programs, please refer to Firon’s excellent FAQ, particularly section 1. smile
Once you’ve followed the steps outlined above, I’m going to address your network connection itself. A very handy tool for getting the most out of your connection is TCP/IP Optimizer. It’s easy to use and it has worked very well for me personally. Once downloaded, all you need to do is double-click the program and a screen will be presented to you. Just slide the bar to your maximum download speed (in kb/s), click on the little round box next to Optimal settings on the bottom of the program and then click on Apply changes. It’ll ask for allowing a back up etc. (you can say yes just in case something goes wrong) and then reboot your PC once the changes have been made.
Note: it’s very important to set the slider bar at your connection’s exact download speed, otherwise you’ll have even more problems. I repeat, do not set it to something higher than your connection can handle! I’m going to try and explain why, so let’s look at it this way: imagine you have a straw and a bottle full of juice (I’ll leave the content for your imagination tongue), and you’re trying to suck the most juice out of it. If you suck too slowly, it’ll take quite a while before you can finish all the juice (hint: poor bandwidth utilization, slow downloads, etc.). If you suck the juice too quickly, you will choke on it and juice will splatter all over your face and clothes (hint: missing packets, time outs, etc.). So you need to slide the bar at the exact download speed your ISP has given you. Let me remind you: don’t get cocky and try to set it to an insane setting as you won’t gain anything except a concussion from my baseball bat. Hopefully this clears up any confusion you might have. Restart your rig when you’ve done making the changes required. smile
Another very important thing you need to do is to patch your TCPIP.sys file. If you don’t know what this, don’t worry. Just surf over to our German friend LvlLord and download the appropiate patch for your OS. When the download has finished, double-click the program and press C on your keyboard. Then, type in the number of your upload speed in kb/s (notice the small “b”, thus kilobits), in our situation it was 128 kb/s, so we’ll type in 128. Press Enter. Press Y. Now the program will check to make sure that the patch was applied properly. If you get any annoying Windows messages telling you that critical system files have been modified and need to be replaced with the original versions, just click on Cancel to prevent Windows from undoing what we just did. Reboot your system when the patching is complete.
If for any reason you’re having trouble with your modem/router, like unstable connections, frequent disconnects etc., try lowering the settings I recommended first. They may just be too strong for your modem/router to handle. Alternatively, if you’re positive that your modem/router is giving you all these speed problems, you could also replace them with a model that doesn’t exhibit these issues. Ask in our forums for recommendations and double-check with your ISP to make sure they accept 3rd-party network devices. smile
For the people who continuously get hash fails with lots of wasted data, you may be running a poisoned torrent. This means that the RIAA/MPAA, HBO and all these other unscrupulous organizations have infected your torrent and are sending bogus (false) data to your PC. If there are no other “true” seeds with the original data, then you’ll never be able finish your download. If you notice this behaviour, just cut your losses, dump the torrent A.S.A.P. and grab another one. There’s a catch, however. If you consistently notice this issue on a lot of torrents (even with legal ones), then your RAM may be to blame, as it could be corrupting your data. I suggest testing them thoroughly (at least 24 hours straight) with MemTest86+ or a similar utility to rule out this possibility.
And lastly, my pal Martin Levac wants to share this piece of friendly advice to all of you:
Martin Levac wrote:
The single most important aspect of BitTorrent is your (mine and everybody else's for that matter) capacity to upload and to upload effectively and efficiently. It's not how much you can get, it's how much you can give and how well you give it.
You can read the rest of his very detailed post over here. wink
Attention: MaV has created a very cool script that automagically calculates values from this mini-guide, so it’s even easier than before to get your optimized settings. If you follow the script route, you can ignore the rest of the text below.
··································································································
Now that we’re done with the basic tweaking of your PC, it’s time to open up µTorrent and go into its Preferences. I’m going straight to the point: get a calculator (Windows has one built-in, or get M$ Power Calculator) if you can’t do basic math like me, because we’re going to be calculating the most optimized values for your connection by hand. I’m going to use 640 kb/s down and 128 kb/s up as an example…make sure to replace these values and use your own download and upload speeds when doing the math. Ready? OK. smile
Go to Options ? Preferences… ? Network Options. Once there (and I assume you’ve forwarded your port and all that), we’re going to look at your Global maximum upload rate. How you calculate this value is very simple. Take your maximum upload speed (in this instance I’ll take 128 kb/s) and divide it by 10. Note: if you’re a high-bandwidth user (? 1 mb/s), feel free to substitute 10 with 8. So:
Code:
128 / 10 = 12.8
Then, we’re going to use about 75%~85% of this value. If you have a really slow upload speed, 75% is a bit more forgiving, but if you’re on a really fast connection, feel free to use a higher percentage, like 85%. I do not recommend going higher than 90%, because this will be too close to your maximum upload speed and will probably choke your bandwidth at some point. So:
Code:
12.8 x .80 = 10.24
µTorrent only allows you to use whole rounded numbers, so on this ocassion we’ll use 10. If you still experience some websites that are timing out, or you’re having other types of problems (like difficulty sending e-mails for instance), feel free to lower this to 9. However, if you’re primarily seeding and are barely using the PC for Web browsing, you can safely use 11. In this case, I’ll just leave it at 10.
● Global maximum upload rate (kB/s) = 10
I’m going to leave Alternate upload rate when not downloading alone as only you are the one who can decide if this applies to you or not. neutral Whatever you’re going to do, don’t set it higher than 90% of your maximum upload speed.
Your Global maximum download rate is calculated similarly. Take your maximum download speed (in my example it’s 640 kb/s) and divide it by 10. Note: if you’re a high-bandwidth user (? 1 mb/s), feel free to substitute 10 with 8. So:
Code:
640 / 10 = 64
This time, we’re going to use 80%~90% of this value. If you have a really slow download speed, 80% is a bit more forgiving, but if you’re on a really fast connection, feel free to use a higher percentage, like 90%. I do not recommend going higher than 95%, because this will be too close to your maximum download speed and will probably choke your bandwidth at some point. So:
Code:
64 x .85 = 54.4
µTorrent only allows you to use whole rounded numbers, so in this instance we’ll use 54. This leaves plenty of download bandwidth to download p0rn…errr…I mean, surf the Internet without slowing down too much. If you think these values are too low for you, feel free to experiment with higher numbers and see which ones work best for you. One thing is certain though, unless you have a QoS (Quality of Service) software installed, never leave your download and upload speeds uncapped, as you’re only going to get bad speeds and ruin things for everyone on the swarm. And like I said in the beginning, there is no “rule-of-thumb”, these recommendations are simply a guide to find your optimal settings. You are the one who’ll ultimately have to determine the best settings for your configuration. smile
● Global maximum download rate (kB/s) = 54
In Other Settings, I enable all of them, and you should tick (check) them all as well. Scraping regularly checks the health of a torrent (how many seeds/peers there are etc.), so I suggest enabling it:
√ Enable scraping
Unless you’re having severe disk space problems, it’s better to pre-allocate the space to the torrent. I’ve found it also reduces constant writing significantly:
√ Pre-allocate all files
Really, this one needs no explanation. DHT (Distributed Hash Table) can really be a life saver when a tracker goes down. No reason to have it off, as it’s automagically turned off if you’re downloading a private torrent:
√ Enable DHT
Same here with the last option. No reason to turn it off:
√ Enable DHT for new torrents
Now we’re going to click on Torrent Options. I’ll jump right in. Let’s look at Global maximum number of connections. This value is very, very easy to guess. Just take your upload bandwidth in kb/s and put it in there. In my case it’s 128 kb/s, so we’ll put 128 as the number.
● Global maximum number of connections = 128
Next is Maximum number of connected peers per torrent. The value that worked best for me is as follows. Take your upload speed (in my situation it’s 128 kb/s) and divide it by 8. So:
Code:
128 / 8 = 16
Now you can put that number in the box next to it.
● Maximum number of connected peers per torrent = 16
Then we’ll continue on to Number of upload slots per torrent. This number should obviously never fall below 1…keep that in mind. In case you have a really low upload speed, like 33.6 kb/s (standard dial-up), keep it at 1. You could try 2, but that’s already pushing it. hmm Anyway, how you calculate this value is a bit tricky. First, look at what number you put at your Global maximum upload rate (in Network Options). In my example it was set to 10 and I divided it with 4. So:
Code:
10 / 4 = 2.5
I’ll take the side of caution and use 2 upload slots per torrent. However, I’m going to advise you to tick (check) Use additional upload slots if upload speed <90%. Just in case someone needs those extra few bits. smile
● Number of upload slots per torrent = 2
√ Use additional upload slots if upload speed < 90%
I’m going to leave Queue Settings alone as only you are the one who can decide what’s best for you. Saying that, I still recommend using some common sense and try to download one torrent at a time. Yes, I know we’re all in a hurry to get everything quickly (reminds me of McDonald’s fast food), but please, think of the swarm! yikes By uploading pathetic little bits here and there, it’s only going to hurt the BitTorrent community even more. So be cautious when downloading (don’t try running everything at once) and once you’re finished don’t forget to seed back to others who also want to enjoy what you’ve downloaded.
OK, now it’s time for us dive into µTorrent’s Advanced Options. I’m going to address only those settings which I believe are going to give you a boost…the rest are better left alone unless you know what you’re doing. Remember how I told you to patch your TCPIP.sys file a while ago exactly as your upload speed (in kb/s)? In my case it’s 128 kb/s and I’ll divide it in 2. So:
Code:
128 / 2 = 64
You can use the number you’ve calculated above on the setting below and still have enough connections left for other applications to utilize. Aggressive surfing won’t be affected this way. smile
● net.max_halfopen = 64.
Unless you have a really old PC, you can also let µTorrent use a little bit more CPU power, since I haven’t seen µTorrent use any outrageous amount of resources with this option turned off. YMMV. neutral
● net.low_cpu = *false
If you can’t maintain your upload speeds/can’t seed properly, or you know that your ISP is shaping BitTorrent traffic (slowing down your network connection), try setting peer.lazy_bitfield to *true. It could help you with your problems. Also, it appears port 1720 (a VoIP [Voice over IP] port) is being unthrottled by some ISP’s, so you may have to check that out as well. See if you can find out what ports your ISP uses for NetMeeting/VoIP/Xbox Live etc. This is a legitimate question and they should be able to answer you what ports they use for these services without any problem/suspicion. It could very well be possible that you can bypass their BitTorrent restrictions using these types of ports. Here’s a handy list of ports and their common uses. Also, switching ISP’s to one that is known not to mess with BitTorrent traffic can also help tremendously, if it’s an option for you. And switching to Geico can save you 15% or more on car insurance… tongue
● peer.lazy_bitfield = *true
Another setting I’ve encountered that gives me a somewhat more stable connection is to set the disconnect interval to a higher value. Some people recommend turning it off completely, however I find that it can still be useful in some cases. Experiment and see what’s best for your situation. On my system, I’ve set it to disconnect after 10 minutes instead of the default 5.
● peer.disconnect_inactive_interval = *600
And lastly, if you’re having problems with your hard disk that can’t keep up with your download speeds (or you get a Disk Overloaded message in your status bar), you may have to modify µTorrent’s cache to something higher. You can set it to 2x – 4x your maximum download speed. Remember to never set it below 2048 (2 MB) and never higher than 32768 (32 MB). So:
Code:
640 x 4 = 2560
Fortunately, with the latest updates Ludde optimized it sufficiently that from now on I just leave it on automatic. big_smile
● diskio.write_queue_size = 2560
Now we’re ready to see if we can get better speeds by downloading an OOo torrent (keep in mind that OOo is a very well-seeded torrent, thus it represents a best-in-case scenario). This particular torrent should easily max out your download bandwidth. smile
So, to recap: there are many things that could be slowing down your BitTorrent downloads/uploads. Also, do not expect to always max out your download speed as this is totally unrealistic. It’s more of a lucky one-time occurance than the norm. And if there are too few seeds and many peers in a swarm, your downloads will be slow, there’s no way around it. Other than that, I hope you’ve found this mini-guide useful. Always remember: be a seeder, not a leecher! Have fun using µTorrent and Good Luck! cool
