BitTorrent's been around for some time now, and the chances are that you've tried using it to download large files.

The big attraction of the protocol is that it spreads the load of any file transfer across a swarm of computers that are both uploading and downloading.

In theory, this irons out any kinks and bottlenecks because no single server is being hit simultaneously from many directions.

The problem that most people who simply dabble with torrents find is that despite reports of this being a lightning-fast method of downloading files, the reality proves to be anything but.

Download speeds are directly related to the number of computers actively seeding the file plus your own ratio of uploading to downloading, and numerous ISPs deliberately shape traffic to reduce the amount of peer-to-peer interaction on their networks. If your BitTorrent program isn't configured optimally or your router's blocking the wrong port, what should be a torrent could easily resemble a mere trickle.

You can't control the network conditions or the number of seeds available, and if you're locked into a contract with your ISP, you probably won't be able to move to an ISP with a different traffic-shaping policy. However, you can maximise the potential of your BitTorrent client.

Choose a client

The first step is to choose the right client. BitTorrent is merely the protocol used to share the files; client programs vary considerably. All are capable of connecting with a swarm and downloading torrents, but the footprint and ability to control connection speeds and other useful configurations can vary for each program.

uTorrent is a Windows client with a very small footprint and much room for configuration, so it's one of the most popular choices. Vuse – formerly Azureus – is a Java application and will run on numerous platforms. It's not as nippy as uTorrent, but it includes a couple of tricks and features that the smaller program doesn't. We'll concentrate on setting up uTorrent here, as it's the logical choice for most users.

BitTorrent concentrates on encouraging users to share their bandwidth. To do this, it limits the download speed for those who aren't sharing or those who don't continue seeding after download to a 1:1 upload/ download ratio. This means that you need to configure your client and router to enable uploads to go ahead at a reasonable level.

Look at the stats

You also need to pay attention to the statistics published for the torrent files that you download. Sites listing torrents often supply details for the file's number of peers, seeders and leechers, although these aren't in real-time and are generally out of date.

However, these statistics do give an indication of how popular the download is, which in turn will give you some idea of transfer speeds. When downloading a file using a BitTorrent client, you'll get an accurate idea of how many seeds, leechers and peers you're actively connected to.

It's important to pay attention to the number of seeders, because that figure will directly affect your download speed. A torrent that's being seeded by just one computer that's uploading at 5KB/s will download at a maximum of that upload speed. If there are a number of active leechers who have been downloading the file for some time, you could benefit from them re-seeding it as they download because it will improve the download speed. However, each leeching computer has an incomplete version of the file.

Unless they become seeders when the download is complete, you could still be limited by the initial seeder's upload capability. Pick torrent files that have a healthy number of seeders if you want a good download speed.

Schedule downloads

Peers join and leave a swarm all the time. This is due to users closing their client programs, turning off their computers or pausing downloads. For a popular download this has little impact, but when peers are few and far between, it can have a dramatic effect on the transfer speed.

For many, it's a case of taking advantage of the times of day that their ISPs don't observe and meter data transfer. Seeders may also leave a swarm if they need to free up bandwidth. You can take advantage of times when your connection is less likely to be in use by scheduling the download.

In uTorrent, you can get to the scheduler by choosing 'Options | Preferences | Scheduler'. Tick the box marked 'Enable Scheduler' and use the grid to set the times when you want your connection to be active. By default it's set to full speed at all times.