2005/01/17

How To Tweak BitTorrent For Speed

How To Tweak BitTorrent For Speed

Alright! Have you downloaded a Bittorrent client yet? If not, there are a lot of choices.

The original BitTorrent does the job with no fuss. It's not pretty to look at, and it's not intuitive to tweak for faster downloads, but it's easy-breezy. It's sort of the MS-Paint of BitTorrent clients.

Everyone seems to like Azureus. It's Java-based, so it should run on Windows, Linux, MacOS X, Unix... basically anything that has Java installed. It's got all the bells and whistles that a stats-freak could ever want. It's a great program and I like it a lot. But all those features and settings are in your face and pretty confusing if you're just starting out. You probably don't want this to be your first client if you're brand new to Bittorrent. It'd be a great 2nd client, though. Because it's Java based it requires some extra overhead. It runs pretty slowly on my low-end machine, but nobody with a Real Computer seems to be complaining about it, so who cares? Azureus is the Photoshop of BitTorrent clients.

A good middle ground (for Windows users) is BitComet. It's pretty sleek even on my PC. BitComet would be the PaintShop Pro of clients. It's easy enough to figure out, but reasonably tweakable if you're the tweaking type. BitComet is the one I use. I love BitComet.

There's another client out there called BitLord that looks just like BitComet, and works like it too. That's because it's ripped off directly from BitComet. Even their webpage is stolen. It contains the same spelling errors as the BitComet page. BitLord is just stolen code with a new name slapped on. Avoid BitLord. [sarcasm] You don't want to support the thieves that stole BitComet's code while you're illegally downloading TV shows, do you? I didn't think so. [/sarcasm]

Here's a bigger list which I lifted from the forums over at Loki Torrent. I make no recommendations other than what you've already read.
  1. ABC
  2. Azureus
  3. BitAnarch
  4. BitBuddy
  5. BitComet
  6. BitLord Look it up if you want to try it. I'm not linking to it.
  7. BitSpirit
  8. BitTornado
  9. BitTorrent Experimental
  10. BitTorrent Plus!
  11. BT++
  12. BTGetit
  13. BTManager
  14. BTQueue Manager
  15. burst!
  16. Comrade
  17. CTorrent
  18. Effusion
  19. Epicea
  20. Flash torrent!
  21. G3 Torrent
  22. Hive
  23. m1lk
  24. MarBitTorrent
  25. MLdonkey
  26. mlMac
  27. MoonlightTorrent
  28. NBT
  29. Nova Torrent
  30. Official BitTorrent
  31. PTC
  32. QTorrent
  33. Shareaza
  34. Simple BT
  35. Snark
  36. Sprout! Torrent
  37. Tomato Torrent
  38. TorrentStorm
  39. TorrenTopia
  40. TurboBT
  41. Turbo Torrent
  42. XanTorrent
  43. XBT Client
There's only one real hurdle to using BitTorrent (aside from finding stuff to download, but you can figure that out), and that's tweaking it to get those huge speeds I talked about in the previous post. The default settings probably won't work for you because it's different for each system. Figuring it out isn't intuitive, but if you're scaaaaared you can always use some other P2P app and suck your downloads through a straw. ;)

First off, like I described earlier, you're swapping information with lots of people at the same time, not just one. In the normal day-to-day world you don't need to upload all that fast. As long as your requests to "send me another web page" get to the servers on the other end, all is good. But in BitTorrentLand, the faster you upload the faster you can download. You've got to allow your client to send lots of chunks to lots of other computers, and to receive other chunks from them. This means that instead of opening your door just a crack to pass a note to your neighbor, you've got to open it wider so you can pass a whole bunch of notes. In other words, you've got to tell your router or your software firewall (like ZoneAlarm) to open up some ports whenever you're using BitTorrent.

BitTorrent can use ports 6881-6999 to transfer files. If you're shy you can get by with just opening ports 6881-6889. That should do fine. I don't use a software firewall so I can't tell you how to set that up. It may be just a matter of clicking "let this program connect to the Internet" when your firewall program pops up a warning window. But if you can get to the innards of your firewall program, try to tell it to open up more than just one port. Ten of them (ports 6881-6889) should be good enough for most people, but even more is good, too.

Here's how I have my router set.



If you're sharing an Internet connection with other computers behind the same router, you'll want to set up "port forwarding" so that all the proper data goes to the proper computer. Basically, you've got to tell your router to always assign computer "A" one specific address, and computer "B" a different specific address. Those addresses shouldn't change. Then you tell it to send BitTorrent traffic on ports W through X to the first computer and BitTorrent traffic on ports Y through Z to the other one. That way everyone gets what they're supposed to be getting. There's information on how to do this for many different brands and models of router at the Port Forward site.
Note: If you're concerned about poking holes in your carefully set-up security, good. You should always be wary. Make sure the client you're using closes those ports when it's done with them (BitComet does). If you use ZoneAlarm, tell it to let only BitTorrent traffic through those ports.
Once you've got your firewall and router set up you still may not be getting screaming fast downloads with BitTorrent. There are several reasons why that might be. First of all, you must give to receive. If you're only squirting out data to others in your swarm at a measly 2kB/s, you're not contributing much. You won't get much in return.

Go into your program's settings and make some changes. Remember how I said I have a 3Mbps download/512kbps upload connection? Take that 512kbit figure and convert it to kBytes by dividing it by 8. This is your theoretical maximum upload speed. Mine is 64kB per second. Now I don't want to send out chunks of file *that* fast! Firstly, I have to leave room to send out "I got that last chunk, please send me a new one now" messages. And I'll be sending a lot of those. I also want to leave some room for normal web surfing, email sending and whatnot.

Allocating about 80% of your upload bandwidth to BitTorrent while you're connected is just about perfect. That still gives you plenty of wiggle-room for your other normal bandwidth usage. 80% of my 64kB/s is 51.2. I've set BitComet up to use 50kB/s for uploading.



That's it. Everything's tweaked. A lot of noobs who don't take the time to adjust their settings properly complain that their downloads crawl along at only 5 or 10kB/second. Some of them just give up on BitTorrent altogether. But when there are a lot of people connected to a swarm, I often download at 250kB/second.

If your downloads are still too slow it could be that the torrent is relatively new and there's not a lot of data out there to swap around. Stay connected! The speeds will likely start to climb higher and higher as more data gets uploaded to the swarm and as more people join in.

If interest in the file is low or dropping (nobody else is interested in downloading the Tom Waits' discography but you and some other unzercrazy guy), you might just have to deal with it and take what you can get.

If you see that a bunch of "peers" or "leeches" are connected (downloaders) but no "seeds" (people with an entire copy), you might be SOL, or all of the peers combined may have all the pieces you need. Stay connected for a while and see what happens. (Azureus lets you know if all the necessary parts are out there. BitComet doesn't.) It's common courtesy (or it SHOULD be!) to stay connected to the swarm of file traders until you've uploaded as much data as you've downloaded. That way everyone gets a fair shot at it.

Incidentally, there is no previewing of partial downloads. You're getting random chunks from random positions in the original file. Only once you've downloaded the whole thing will you be able to open it.

-----

Arsi mentioned Exeem as a possible contender for the next generation of P2P apps. They say it'll be anonymous and private. But it's still in closed Beta, meaning only a couple thousand people are testing it at the moment. Until it goes public, nobody will know if it does what it claims for BIG groups of people. There are also rumors (which are just that, so don't jump on me) that it's adware, meaning that someone will be making money from it. Meaning that the MPAA will have someone juicy to target. I've also heard rumors that it contains spyware. I don't know if that's true or not, but once it's released we'll all know for sure.

Other rumors are that the code is private rather than open source. That's not good, because the MPAA shutting down one company will shut down the whole Exeem network. If Exeem makes the code public then everyone will be writing their own ports. That would be a good thing, because not all of them will be tied to someone's physical bank account.

I'm eagerly awaiting Exeem, and I hope it's as good as they say it's going to be. But, for now, BitTorrent kicks Exeem's ass because, well, you can use BitTorrent and you can't use the other. :)
Comments:
If you get a chance, try Shareaza. It handles BitTorrent, Limewire, Gnutella and Edonkey all at the same time. In addition, it has it's own search tool.

I have been using it for a long time now, and totally love it. (Well, up until I installed XP SP2, now nothing works as it did.)
 
'loot, I love it when you talk technical. Keep in mind, to operate at maximum efficiency, Bittorrent creates many, many connections to various hosts. Some low powered routers cannot handle so many simultaneous connection and crap out. Also, I've herad that one of the new seciurity fixes in XP SP2 is a limitation on the number of simultaneous connections that the OS will allow. This will kill your speeds too. Google for a workaround that enables more connections.

One can't stress enough how unprivate BT is. Its very easy for *anyone* to get a listing of all IP addresses connected to a particular public tracker.
 
exeem is now available.
 
Post a Comment

Subscribe to Post Comments [Atom]





<< Home

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]