Speed up uTorrent to download fast

So I'm going to break the guide up in to different parts explaining the changes you need to make, what those features do and why we are changing them from the defaults.

Disk Cache
Probably the most important thing this guide is going to cover is proper cache management. An often overlooked nested menu within the bottom of uTorrents preferences under Advanced.

Now you may be thinking what is a cache?
Put simply a Cache is a temporary allotment of space where computer programs store information. Some programs cache things to the hard drive (Like your web browser caches Images) while other programs cache to your RAM like uTorrent & Youtubes Flash Player during buffering.

So why do you need a Cache?
Maybe you have a Hard Disk and in the benchmarks you've run it manages a comfortable 100MB/ps write speed and you thus don't think you need to use a large cache?

Well this is where drive mechanics need to be quickly discussed you see hard drives have quite decent read and write speeds for sequential data. This means if you're writing the alphabet to your hard drive the letters would all be in the correct and expected order. ABCD and so on. But Bitorrent isn't designed to deliver sequential data it delivers random data so instead of getting ABCD you might get ZHAU. This causes the hard disk to dramatically lose performance because instead of writing pieces of a download one after another in a nice neat row it must jump around the downloading file placing pieces in different and often times far apart places.

This problem is compounded when you download a folder with lots of different files because whilst a single episode of a TV Show may only be 88 separate pieces a series pack may be over 12,000.

Solid State Drives also suffer from this problem but to a much lesser degree. In-fact if you use an SSD you may never encounter disk overload issues. However SSD's have the disadvantage of being extremely expensive per GB compared to Hard Drives so it is assumed for this guide you will be downloading files to a Hard Drive.

So now that we've explained what a cache is and why you need a cache lets explain some of uTorrents options for the Cache.

Right near the top you will see an explanation of what the cache does and below that you will see a tick box that says Override automatic cache size and specify the size manually (MB): [ ]

Now changing this setting to a high number depends on two main things. The speed of your internet and the speed of your hard drive. For this guide we assume that whatever the maximum speed of your internet line is, will be the speed you will be downloading at.

So if for example you have a 50Mb or 100Mb internet line which are becoming common in the western world and most seedboxes and cheap rented servers start at 100Mb you will probably want to set this value to a high number. Perhaps 512 or 1024 (512MB & 1GB respectively).

I've created the following image to show you how having this large cache makes an impact on your downloads, remember if the cache becomes full and your hard drive cannot keep up with the pace of incoming file pieces your downloads will slow to a crawl or stop entirely.

Now as seen in the above image having a small 32MB cache is easily filled within a few minutes. The Hard Drive here is writing out the information as fast as possible but it cannot keep up because the randomness of the incoming files is simply to high. But when we increase the cache to 1GB we are able to sustain full speed downloads for an hour or more. Again this assumes you have a pretty average & modern 1TB or larger hard drive.

If we go back to uTorrents settings you will see below the Override cache size setting there is a Reduce memory usage when the cache is not needed check box. You want to uncheck this because a full cache when seeding hundreds or thousands of torrents is very important. It reduces the chances that your Hard Drive needs to retrieve a piece from a file to seed to another user. Now don't worry, if you begin a download anything that is stored in the cache for seeding will be removed as your incoming downloads demand more of the cache space. Downloading always takes precedent over Seeding when it comes to Cache use.

Below that you'll see two generic tick boxes for Enable caching of disk writes & Enable caching of disk reads. You want to have those both checked of course.

Under the Enable caching of disk writes there are two check boxes. One for Write out untouched blocks every 2 minutes and one for Write out finished pieces immediately. Untick the 2 minute box and tick the immediately box.

Those above tick boxes are very important because you don't want your disk sitting idle for the first two minutes of a download when it could be clearing out the cache for more data. Those two minutes can really help. Writing out finished pieces as soon as possible is the most desired option.

Under Enable caching of disk reads you wan't to untick the box that says Turn off read caching if the upload speed is slow. Now you might think why would I want to do? Well lets say you are seeding 1000 torrents but you're only uploading to a few users. The disk access is quite low so uTorrent feels it doesn't warrant storing data in the cache it can just access the disk. Well what if your favourite torrent site suddenly goes freeleech for its birthday and all of a sudden 25% of your torrents start going nuts including those pieces of files that before uTorrent didn't feel were necessary to cache? You could have saved your hard disk a whole bunch of extra read operations and seeded more users before others.

The option directly underneath that one is Remove old blocks from the cache. Similar to the above option you want to untick this because you want the Cache to always be full. A full cache is a well utilised cache and you never know if another user is going to request the same piece of a file that you just served to someone else, save the disk some extra work.

The last option here is Increase automatic cache size when cache thrashing. You can enable or disable this option it doesn't make any difference once you've overridden the automatic cache size at the top of this menu.

Now although that was the last option in uTorrent 3.2.2 some of you may be using older versions of uTorrent which also include the option to disable Windows Read and Write Caching. I would suggest you to tick those and disable the Windows Caching because you've already set a very large and well utilised cache in uTorrent and it is unnecessary and problematic to also utilise the Windows Caching. In the event that your PC were to crash for example Windows may still be holding over 1GB of file pieces that uTorrent considered already written to disk and when you open your client again you'll find that some downloads didn't get completely saved to disk and will need to be checked for missing pieces.

Now that is all you need to know about the Cache but there are a few other options in the client still left to check or adjust.

Now in here there are a lot of options and I'm sure you're familiar with the speed limiting ones. You are free to set your minimum and maximum upload/download rates here. You know your own Internet connection better than I do.

What we are most interested in from a performance tweaking perspective is the Number of Connections. Now you might be thinking, but Vicey I want as many connections as possible to maximise my download speeds!

Well that is one way of looking at it and at face value that would seem the correct stance to take but it actually is not. You see when you transfer data with uTorrent you'll either do so using TCP or the newer UDP based uTP protocol. Both of these protocols have overhead which tells both sides of a connection how much data to send, which data to send and if the data arrived intact. So what you actually want to do is maximise your download speed with the least amount of simultaneous connections necessary. Instead of getting 600 pieces from 600 people you want to get 600 pieces from 20 people. Sounds counter intuitive right? Less people and faster downloads but let me explain.

On private trackers it is generally assumed that a proportionate amount of users will be using seedboxes and those who don't will have good enough upload bandwidth to seed the torrents they have and keep a good ratio. So it is actually very conceivable that you will be able to maximise your connection on just 20 simultaneous connections per individual torrent. And by eliminating all that extra overhead you will find your downloads actually go faster. In my testing I've found I can meagre out an extra 8Mbps (1MB) by reducing the amount of connections per torrent on a good private tracker like BTN.

Similarly if you're downloading lots of torrents at once you may find your total global maximum number of connections is also set too high I try to keep it around 600 global connections and 20 per torrent. For upload slots per torrent I set it to 5 but I'm on a fast 100Mb connection and I'm seeding thousands of torrents you may find it suits you better to use 3 but again it depends on how many total torrents you intend to seed, where you intend to seed them and your upload speed. I wouldn't set it more than 5 however. The last option "Use additional upload slots if upload speed <90%" is always a good idea but in general on a private tracker you'll never encounter such behavior to trigger this option anyway.

One last section then!

If you select the BitTorrent option under preferences you will see a whole bunch of tick boxes. Generally if you only use private trackers you'll want to disable the DHT Network. This is a decentralised hash sharing system which private trackers don't utilise because as their name suggests they already have a central tracker and don't need peers to manage swarms.

You will want to keep the Local Peer Discovery ticked only if other torrenters within your local network don't use the same private trackers as you do. This option is again only preferable for public torrents. The reason is quite simple, anything you upload including to users on your home network to other torrent clients will be reported to the tracker for the download you are currently engaged in. Private trackers will see this as unusual because it will appear to them that you've uploaded data to nobody or to yourself (due to being on the same WAN IP) and this could get you banned as a ratio cheater. Most good trackers will have automated flagging systems to detect all kinds of cheating so don't even attempt this.

Similar to DHT is Peer Exchange or PEX. It is a rival technology to DHT which does the same thing you want to disable this too for the oft chance that a torrent you get from a private site has DHT/PEX enabled although that is unlikely as trackers modify the uploaded torrent files to make sure these are flagged as disabled it has been known to happen on occasion.

You want to leave enabled both bandwidth management [uTP] and UDP tracker support because both of these help reduce network overhead not only for yourself but also for your internet service provider.

The new uTP protocol was not launched without some controversy. It forgo the traditional TCP protocol for a UDP based one which made some uneducated industry types cry foul. They believed incorrectly that it was a way to stop uTorrent from being traffic shaped. What it actually does is reduce the amount of packet overhead. This means you waste less bandwidth managing your incoming and outgoing file transfers. When you expand the impact of this out to millions of torrenters the amount of savings really add up worldwide. It was a good move for users and internet service providers. uTP also has the capability to detect network congestion and rate limit your client so that you don't cause too much of an impact on the internet. The net result has been very good for everyone especially those on fringe ISP's with under performing networks.

As for the UDP tracker support, similar to the uTP protocol this again reduces network overhead but it also helps trackers by reducing the amount of CPU processing they must do. Every TCP packet sent and received has a lot of information attached to it that must be checked at both sides of an established connection, UDP has no such feature making it lightweight and connectionless. UDP packets move without any built in transfer verification this greatly reduces tracker costs for some of the big players and even some of the little ones. And of course you'll want this turned on to be able to communicate with newer UDP only trackers.

The last important part in this menu is the Protocol Encryption. This is a long malingered part of uTorrent that has seen few updates. Whilst the transport encryption itself hasn't been broken there are a few products available to ISP's which can detect encrypted bittorrent transfers and increase the latency on the transferring packets enabling service providers to traffic shape even encrypted connections. But you do still want this enabled because some other people may have encryption forced on meaning they will not connect to any other bittorrent client that has encryption totally disabled. Leaving it enabled and ticking the box that says Allow incoming legacy connections will allow you to connect to both encrypted and unencrypted peers.

And so ends this guide I hope you found the information here useful feel free to put any questions in a post below and I and other members of the community will surely answer them for you. 


Post a Comment

© 2009 Windows 8 Download | Powered by Blogger | Built on the Blogger Template Valid X/HTML (Just Home Page) | Design: Choen | PageNav: Abu Farhan