Monday, December 5, 2011

[HoM] I wrote this guide on this topic I don't know...

There are idiots everywhere, but not many make pumpkins look smart. If you're going to write a guide, for instance, then you REALLY need to know your topic. If you don't know your topic, then DON'T WRITE A GUIDE BOOK ABOUT IT. Often it makes you look stupid, but on occasion, can cause a LOT of problems for those that follow it, expecting things to work.

There are many such guides, this is just one that caught my eye.

There's a simple rule when it comes to bittorrent settings, One size-fits-all settings are a success for no-one.

Bittorrent has, at it's core, a setup that focuses on the thing it can control - it's upload, and not on the download. your download is based on how fast other people can send to you, but EVERYTHING hinges on your upload. The more peers you're connected to, the more overhead information you have to send out, which means more information uploaded. What makes it even more critical is the asymmetrical setup of most internet connections - connections tend to have a higher download rate than upload. Perhaps most critically though, the vast majority of settings relate to upload, not download.

I've already given a guideline for decent settings, based on upload. In fact, it was right after the first settings entry in the Hall of Morons that I posted them.

So to the specifics. This user was so confident in his guide, that he posted it to The Pirate Bay, not just once, but TWICE. After I pointed out the problems, he decided to change his nick name, from fiesta569 to Audi-A4. Perhaps the worst thing is he's considered 'trusted', which means people might trust these guides.

So, on to the guides. He's done them in two formats, one as a pdf, and the other as 4 separate images. I'm going to cover the images version, but the content is identical.

First picture shows the 'Bandwidth' section of the Preferences of Bittorrent 7.5, but the contents are identical to µTorrent 3.

Step 1
Working down the list, we see that he's set the upload as unlimited. This is bad for most home connections as your upload will saturate and you'll have terrible performance, unless you're exclusively using µTP. Ideally, you should set your upload between 75-85% of your maximum upload capacity to leave a little space on your upload throughput.

Equally puzzling is his connection settings. 100 Global connection is acceptable for a low-speed connection but then to have 70 connections per torrent makes no sense. That's a lot of peers for a torrent, meanng lots of overhead, and it means by the time you're at the second torrent, you're already running out of connections. In a word, stupid and contradictory.

Step 2
Picture 2 is actually perfectly acceptable. That is optimum, but then again, it's also, I believe, the default. You don't get any prizes for that! Note the check-mark that says 'Enable bandwidth management [uTP]" It'll be important in a moment.

'Step 3' and there should be a robot crying out "Danger Will Robinson", because well, it's a bit stupid. First of all, it says at the top "WARNING: Do not modify!" It helps to pay heed. however, let's look at whats he's suggesting. It's easy enough, as non-default values are marked with *.

Step 3

The first option is bt.tcp_rate_control. It is defined in the help file.

bt.tcp_rate_control: Enabling this option tells µTorrent to use information from the uTP transport as hints for limiting TCP transfer rates.

So, he's disabled the way for the client to actively adapt to congested network connections. Smart.....

Step 4
Picture 4 is actually superfluous, it's just the other marked change hi-lighted; bt.transp_disposition. He suggests changing the value to 255, but what does it do? The help file again includes a description. it says

bt.transp_disposition: This option controls µTorrent's level of bias towards using TCP or uTP for transporting data (assuming the peer at the other end of the connection supports both transport protocols). The following is a list of the accepted values:

  • 1 allows µTorrent to attempt outgoing TCP connections
  • 2 allows µTorrent to attempt outgoing uTP connections
  • 4 allows µTorrent to accept incoming TCP connections
  • 8 allows µTorrent to accept incoming uTP connections
  • 16 tells µTorrent to use the new uTP header. This is an improved communication header, but is not backwards compatible with clients that do not understand it.

This option is interpreted as a bitfield, so values can be added together to obtain a combination of behaviors. Setting this value to 255 guarantees that all behaviors are enabled.

So his change means turning them all on. For comparison, the default value is 31, which, er, means turning everything on....

If there's a howto for bad settings, this would be up there. While it's not in the ludicrously bad territory (and we'll get to them at some point) it's not good. In fact, the very understated nature of the changes might convince some that it's on the level. In reality though, it's a very poor setup.

AUDI-A4 (or fiesta569) You are not just a moron, you are a COMPLETE moron, and so it's fitting that I induct you now, into the Hall of Morons!

No comments:

Post a Comment