µTP configuration guide

By: Jacob Taylor
on

So, like, warning: this may light your router on fire. Or it may work perfectly. Or it may require tweaking to your specific needs. I have no fucking idea. You take any risk associated with following this upon yourself. I'll do my best to give you the tools needed to make adjustments if necessary.

Anyway. So check it out: The idea behind this is to prefer (not force) µTP usage, which is Bittorrent Inc's implementation of the bittorrent protocol inside UDP (instead of TCP, which is how you usually transport bittorrent traffic).

Most pro-level torrenters are more concerned about maxing speeds than anything, and I have only anecdotal evidence that this assists them to that end. However, I think for home users this may help a lot. The biggest issue I ever had was making sure my torrents were capped low enough that the internet was still usable (thereby not being able to max usage when I wasn't on the 'net). This should help that. TCP streams can max out your link, but they cut back by half every time they detect loss (which actually usually means that your link is fully utilized), leading to you never attaining full speeds. And anyone who tries to max out their link speed knows this makes their internet worthless for browsing. By using µTP, it should fill the negative space between your internet usage and the max speed of your line, without getting in your way.

The shit you're here for!

bandwidth settings page

You can limit transfer speeds if you like, but the idea is not to. Also, the connection numbers may look funny to you, but I recommend them. 150 as a global max usually avoids choking up really terrible home routers (and unless you're trying to pull or push more than 10 torrents at a time, it won't need to be higher than that). I know "max peers per torrent" defaults to like 50, but that's a uselessly high number. Suffice it to say, academic literature (I really mean it) suggests that you lose any speed benefits after 25-30 on an average internet connection, so 27 seems like a nice number. If you only touch "private" sites, you can actually turn that number down further (say, 14). Many people have seedboxes or at least fast internet these days, so you're going to pull most of your data from only a few fast peers.

basic bittorrent features page

I leave everything on; it doesn't usually hurt. The only change here is forcing encryption and disabling "incoming legacy connections". Encryption should be turned on irrelevant of what you're doing, and no modern client uses "legacy" connections. Many guides will tell you to turn off DHT, or peer exchange, or whatever, but it's generally unecessary unless you KNOW one of them causes a problem (shitty routers and DHT can be an issue, for example).

bt.transp_disposition setup page

This is on the advanced settings page, and as you can see you can use the little search box to find the setting you want. bt.transp_disposition defaults to 31. 30 means uTorrent won't make outgoing non-µTP (regular bittorrent) connections, but will still happily accept incoming ones. If you're fucking nuts and don't care about seedboxes, turning it to 26 will disable all TCP torrenting and use µTP exclusively. This is crazy, again, and you're crazy if you do it, but it could be acceptable if you're using only public sites. Setting bt.transp_disposition to 26 WILL isolate you to a mostly uTorrent client swarm (which perhaps you don't care about that, but I have to let you know.) Private site admins will look down on you if you do that (also since all the seedboxes run stuff like rtorrent, which doesn't support µTP, your downloads may not be fast). Fair warning.

utp settings example page

This is where the magic happens, and also where I can't totally hold your hand. net.utp_receive_target_delay and net.utp_target_delay are measured in milliseconds, and should be lowered. They default to 100, which is too high. 100 means it will only start throttling back on µTP traffic when you're at 100ms of latency on your packets. If you're trying to play a game or something, this is horrible and far too high. I set mine to 45 because it works well and cuts back very very early. If you don't have it cut back early, utorrent will fill up your router with data waiting to be sent and you won't be able to contact the internet (for a second or two, which is just infuriating if you hate waiting). uTorrent will detect latency and stop sending data, but that doesn't matter because your web browsing traffic or game traffic is in the queue with the torrent traffic (note: signs that you have a shitty router, which should be QOS'ing but isn't). Maybe try pinging google and see what ms you get, set the target latency at twice that. (which is bullshit I totally just made up, but google is 20ms away and twice that is 45ish sooooo hahaha). At some point if you get this working perfectly, do tell me your internet setup and what numbers worked. I wouldn't set it any higher than 60, unless you've got really bad internet.

The other main change here is the net.utp_packet_size_interval, which defaults to 10. This is measured in seconds, and has to do with how often utorrent can adjust the size of your µTP packets. It may not actually matter, but I turn it down to 7 so that it can adjust more quickly in light of internet fluctuations.

slow peers settings on advanced settings page

This is a totally irrelevant-to-this-guide change, but I suggest it anyway. These numbers are the speed at which your client considers a peer to be slow. Slow peers don't get counted against you when uTorrent is trying to figure out which queued torrent to prioritize, or when you've hit the max number of active torrents. These numbers both default to 1000, which is 1KiB/s. Aka very truly horribly slow. You know better than me what "slow" means on your internet, but do consider turning the numbers up. (No harm will befall you if you do not.) This screenshot shows 25KiB/s (or less!) as a slow peer when downloading from them, and 10KiB/s when uploading to.