Changes between Version 5 and Version 6 of UserGuide/BandwidthTweaking


Ignore:
Timestamp:
02/19/2010 07:59:18 PM (11 years ago)
Author:
pi3832
Comment:

Added quote from protocol about choking

Legend:

Unmodified
Added
Removed
Modified
  • UserGuide/BandwidthTweaking

    v5 v6  
    55The settings below are suggestions.  They are intended to give users more guidance than the settings recommended in the FAQ, but are by no means definitive. 
    66 
    7 The best rule to remember is: '''Don't be greedy.'''  There's more content out there than you can ever consume.  You don't need to download it all ''right now! ''  By allocating your bandwidth properly you can maintain a solid, thick stream of data that fills up your hard-drive 10-times faster than you'd expect.  Maximizing your peak download rates can be fun and all, but it doesn't necessarily get you the best over-all performance. 
     7The most important thing to remember is: '''The speed of your downloads is determined by the speed of your uploads.'''  That's built into the bittorrent protocol, and works through what is known as "choking." 
    88 
    9 So, as a subsidiary rule, there's this: ''More is not always better.''  It rarely works to just crank everything to [http://www.youtube.com/watch?v=ll7rWiY5obI#t=1m18 11].  So, while the settings suggested below may seem low, they should give better results over time. 
     9From the [http://www.bittorrent.org/beps/bep_0003.html BitTorrent protocol]: 
     10 
     11>Choking is done for several reasons. TCP congestion control behaves very poorly when sending over many connections at once. Also, choking lets each peer use a tit-for-tat-ish algorithm to ensure that they get a consistent download rate. 
     12 
     13>There are several criteria a good choking algorithm should meet. It should cap the number of simultaneous uploads for good TCP performance. It should avoid choking and unchoking quickly, known as 'fibrillation'. It should reciprocate to peers who let it download. Finally, it should try out unused connections once in a while to find out if they might be better than the currently used ones, known as optimistic unchoking. 
     14 
     15>The currently deployed choking algorithm avoids fibrillation by only changing who's choked once every ten seconds. It does reciprocation and number of uploads capping by unchoking the four peers which it has the best download rates from and are interested. Peers which have a better upload rate but aren't interested get unchoked and if they become interested the worst uploader gets choked. If a downloader has a complete file, it uses its upload rate rather than its download rate to decide who to unchoke. 
     16 
     17>For optimistic unchoking, at any one time there is a single peer which is unchoked regardless of it's upload rate (if interested, it counts as one of the four allowed downloaders.) Which peer is optimistically unchoked rotates every 30 seconds. To give them a decent chance of getting a complete piece to upload, new connections are three times as likely to start as the current optimistic unchoke as anywhere else in the rotation. 
     18 
     19If you don't set up your uploading setting properly, you will be forever choked on your downloads. 
    1020 
    1121=== Determine Internet Connection Speed === 
     
    3242Most users have no need for a setting that high, and Microsoft has removed the original limit in later releases/patches--or at least made it user-adjustable.  Half-open connections should--rapidly--resolve to fully-opened connections or be timed-out.  So, you really don't need to allow that many of them to be hanging around. 
    3343 
    34 || Maximum Connection Attempts[[BR]]per Second || '''20''' || (When you set your per-torrent connections and such to a reasonable number,[[BR]]you will fairly quickly establish reliable connections with plenty of peers.[[BR]]You shouldn't need to be banging around for thousands of new connections every minute.) || 
     44|| Maximum Connection Attempts per Second || '''20''' || (When you set your per-torrent connections and such to a reasonable number, you will fairly quickly establish reliable connections with plenty of peers.  You shouldn't need to be banging around for thousands of new connections every minute.) || 
    3545 
    3646 
     
    4151|| Maximum Upload Slots || 4  || 5  || 7  || 8   || 
    4252 
    43 While a basic premise of bit-torrenting is a big-ol' "swarm" of peers, you, as a single client, can spread yourself too thin.  You're more helpful to the swarm by feeding a limited number of peers with a steady, thnick stream of data, than you are by spraying out droplets of data to a huge number of peers. 
     53While a basic premise of bit-torrenting is a big-ol' "swarm" of peers, you, as a single client, can spread yourself too thin.  You're more helpful to the swarm by feeding a limited number of peers with a steady, thick stream of data, than you are by spraying out droplets of data to a huge number of peers. 
    4454 
    4555So, you should limit your upload slots based on your upload speeds to make sure that each connected peer is getting a reasonable amount of bandwidth.