tuning your Torrent Client.., page 1

salsablightning Tribal Darkness on May 11th, 2009 / post 29621
A few people thought it would be a good Idea to have a topic about tuning your client for maximun efficiency.

First a little about my System... I have a Gateway DX4720-03, With Pentium 2.50 GHZ Dual Core Processor, with 4.0 GB DDR SDram. And Windows Vista 64 bit operating system. I Am on Cable 16 mb Internet Service.

Currently I am Running Bit-Torrent I allow unlimited Bandwith to all connections.. I allow 16 Active torrent, and 10 upload slots per torrent. Seeding over 600...

On Average i get up to 12 active seeds.

I also Run Utorrent Now for new seeds only.. Seeds almost 100 torrents now, and I allow 13 active seeds and 10 upload slots per torrent... Average of 7 active...

How may I be more efficient for sharing torrents?

What programs are you guys using, and let us know about your system and how your connected...
slash ProDanceCulture on May 12th, 2009 / post 29622
the best way to get max upload speed (if you're lucky enough to seed demanded torrents that will generate that much of upload speed from you) is to first know how much maximum you can give. i'm guessing i have same connection as you do: comcast cable max 16mbps down, 3mbps up. but i will say for all... first step to max out your connection is to know exactly how much you can give out. try any free service that will tell you your connection speed after series of short tests, make sure you close your torrent client and any other applications that might clutter your connection, then select most close/local to you server to test with, and start test. that is where i got 400KB/s upload speed. about 3mbps. anyway, then again i rarely get that, and internationally (or even out of illinois area i'd guess) i make 250KB/s upload. so basically i still have capacity for 150KB/s more, same as you might have, but oh well, everyone else is different, i used to have this same connection with only about 730kbps ~ 90KB/s upload, and then - it mattered alot. what mattered? what i'm gonna say now...

anyway, you cannot give your client all upload maximum speed, simply because there's a hell lot of communications going on between your client and other clients that same ways as data goes, if you max your uploads - no room is left for these exchanges, and clients will start "loosing track" of what to send and where to send it, exchange will be delayed thus delaying downloading/uploading process. download speeds will fall dramatically. so basically some room needs to be left for them clients and other soft on your machine to get out there and back, this said - never set max upload speed on your client. or unlimited. always put 90% of the max you can do. well, if your upload speed is high enough that you cannot max it out on minute to minute basis - don't worry about stuff, it'll all work out. like you and me with comcast, we cannot give max speed at all times, only maxxing out 250 out of 400 possible, so we already have that room for other stuff to go thru and back, so we don't need to worry about it...

talking about fine-tuning clients... my utorrent handles 3000 torrents, about 1100 right now seeding, all active, in good times 20-30 active torrents (being leeched), in bad like right now - 6 torrents are actively uploaded, still i'm giving about 200KB/s. as many as possible upload slots allowed, like 100 per torrent, 5000 total, but of course i never get anything like that... =) see, our files are small, so either they are transferred to your computer fast in matter of minutes, or they're still not seeded, or your download speed is too slow.

i have similar computer, gateway gm5410e, pentium core 2 duo at 1.86mhz each, 2gb ddr2, and all is fine with me.. running sometimes 10-15 big applications, like text and graphic editors, all kinds of browsers and music players and other stuff.. so in your situation you are holding back, i'd say... =)
SpasVstar V.I.P. on May 12th, 2009 / post 29623
:-)
Let's discuss our BitTorrent applications and share some knowledge and experience. I'll refer uT and Vuze and the BitTorrent protocol also.

As the first topic, maybe "Performance Tuning", has already been stated I'll stay on it for now.

First of all it is obvious the most limiting resource - the bottle neck - is the upload speed provided by the ISP. Its real evaluation is better to be done using Networking Window in the Task Manager. It shows the Link Speed (what the computer is capable of), Network Utilization (which is an average speed of the whole traffic through the link in % from the Link speed), a plot of the LInk Speed vs time.

Why am I saying this. Because the speed tests on Comcast cable show unreal results (Comcast has a "burst" service for a couple of seconds) and because TCP/IP congestions (which can stop the whole traffic at all) are possible and happen also. So, the real speed is lower than the speed tests show.

(I'll continue tomorrow.)
P.S. You can get a real estimation of your Link Speed in uT also.
Here is an example:


The drop-down list "Show" let you choose from: Upload&Download, Download, Upload ...

As it is seen my upload with uT fluctuates around 236 kB/s (1.89 mb/s). It is seen a drop in the speed (due to TCP/IP congestion) and the next burst, allowed by Comcast.

So, with these tools you can get a much more realistic evaluation of your connection speed.
Skype:spas.velev
salsablightning Tribal Darkness on May 12th, 2009 / post 29625


Here was the result of my local speed test... I am assuming since I have running two separate torrent clients I should split the Speeds between the two or just allow the same amount of traffic on both since one is used more then the other any way?

So you say I am probably holding back? How many seeds do u suggest I allow to connect at one time with this system I currently have?

Also on some of my older seeds I keep getting error... "Torrent not registered with this tracker" I am not editing these file what so ever so I am assuming this error is because the torrent was removed from the System?
SpasVstar V.I.P. on May 12th, 2009 / post 29628
salsab wrote:
...
How many seeds do u suggest I allow to connect at one time with this system I currently have?

Also on some of my older seeds I keep getting error... "Torrent not registered with this tracker" I am not editing these file what so ever so I am assuming this error is because the torrent was removed from the System?


"I am assuming this error is because the torrent was removed from the System?" - Correct.

As to the "How many seeds?".
The answer depends on many factors so, I think its better to understand these factors in order to make a reasonable decision. But if you are eager to find something appropriate (in some sense) you can read the documentation provided by Vuze and uTorrent developers:

https://wiki.vuze.com/index.php/Main_Page
"Why you need Good settings for high download speed?"
"How to further increase your download speed/"

https://www.utorrent.com/documentation/connection-setup

Personally, I don't follow those recommendations because my goal is a little bit different .
I prefer to discuss some factors first and let's look at some uT Preferences/Bandwidth options.



I would start with "Number of upload slot per torrent".
This parameter is most unknown to me so, I need to discuss it in order to understand it well.

What is upload slot?
I couldn’t find a definition of what an upload slot means. Instead Vuze and uT say about “upload slots per torrent” as defining the maximum number of peers they upload to at any given moment for each torrent.

Nevertheless the word slot implies some assignment in arrangement or scheme. So, what this arrangement or scheme could be.
To try to find it let’s see how a BitTorrent node uploads (downloads) a file.

File/pieces/blocks.
A file is considered a set of pieces and every piece is a set of blocks

Content trade is piece based, while transfer is block based.
The peers negotiate the exchange of a piece. (Partial pieces can not be uploaded.)
Then they transfer blocks.

The blocks are transferred using TCP/IP  protocol:
A node opens a TCP/IP connection to another node (which has to be connectable). The connection stays open until it is closed. During that time the nodes exchange Blocks  (and Messages also). The node has a control over the Blocks until they are sent to the TCP/IP stack (or received from the TCP/IP stack).
If we consider the upload only we can say the only arrangement can be made is the moment of time a block is sent to the TCP/IP stack. Of course it can be arranged by some priority scheme when there are more blocks to be sent but we are not interesting in this.

(uTorrent:)
A node can open max “Maximum number of connected peers per torrent” TCP/IP connections per torrent and let them will be opened. This means there could be some number of concurrent uploads taking place.
A torrent can have a specific “Number of upload slots per torrent”.
It means this number of upload slots could concurrently uploading.
If the number of upload slots is less than the number of connected peers then:
(Analyzing and Improving a BitTorrent Network’s Performance Mechanisms - https://research.microsoft.com/en-us/um/people/padmanab/papers/infocom2006.pdf)
every 10 sec the node uses choking/unchoking mechanism to reevaluates the download rate that it is receiving from its neighbors to decide whether a currently unchoked neighbor should be choked and replaced with a different neighbor and typically every 30 seconds the node unchokes a randomly chosen neighbor regardless of the download rate achieved from that neighbor.
(The idea of these replacements is to find neighbors with better download rates while staying within the limits of the upload slots.)
(I am assuming that the above mechanisms are applied to the upload slso.)
From here I could conclude the upload slot is time interval for changing some of nodes being uploaded to.

The number of upload slots is important parameter and one should think how to chose it.
As long as I see there are two cases to be considered:
  • Seeding only
  • Downloading/seeding
    Personally, I am interesting in the first case only (either I am the only seeder or my download time is short and therefore negligible compared to my upload time (downloading at 2,000 KB/s and uploading at 250 KB/s). In this case the solution is easy. The number of the upload slots has to be big enough so as a concurrent upload to all connected node to take place. This way I could seed at the Link Speed which is actually my goal – to get torrent ratio 1.0 or bigger ASAP.
  • Skype:spas.velev
    moocowdanstar Moderator on May 12th, 2009 / post 29629
    I am around guys, will follow the conversation and will input when i get a chance. Just really busy for the next day or two.

    :-)
    slash ProDanceCulture on May 13th, 2009 / post 29633
    salsab wrote:
    Here was the result of my local speed test... I am assuming since I have running two separate torrent clients I should split the Speeds between the two or just allow the same amount of traffic on both since one is used more then the other any way?


    wrong. the perfect situation is to let only one client run all the time. simply because different people get different stuff from you at different times, and it might happen that first client limited to 100kb/s upload is doing its all 100kb/s, but the other one also limited to 100kb/s is dragging at 10kb/s at the moment. so think: if first client was allowed 200kb/s up, would it give those 200kb/s up at the moment? why limit first client when it could max out while second client is not requested so much? and vice verse, at times second client will be maxing out its allowed part of bandwidth, while first will drag behind... so... how is it possible to divide the channel between them two to maximize their output at all times? only by allowing them both to max the upload speed you can give, but then it definitely will slow down all of your other internet activities. if one client at unlimited uploads slows it all down, imagine how two of them would? so basically for best performance ratio-wise (while sustaining normal internet environment for other software) it's wise to keep only one client. capped at 90-95%.  

    salsab wrote:
    So you say I am probably holding back? How many seeds do u suggest I allow to connect at one time with this system I currently have?


    i suggest put big numbers. in utorrent, at least. it's written using c/c++, all arrays (needed to store info on peers - your 'connected to') are most likely implemented as stacks or similar structures, that only need computer memory when they're actually used (utilized), so if you've had any concern on memory usage of the client or it's cpu demands - nothing will change much if you set 100 connections allowed per torrent instead of 10. again i want to say that tribalmixes.com is not your multi-million-user mininova or thepiratebay, we do not have tens of thousands of concurrent downloaders on torrents... right now most downloaders on a single torrent is 8. in better more active times with more popular djs and slower uploaders - you can observe up to 30-40 downloaders, in best times i remember up to 100-150, but those would be caused by slow uploader's speed.

    salsab wrote:
    Also on some of my older seeds I keep getting error... "Torrent not registered with this tracker" I am not editing these file what so ever so I am assuming this error is because the torrent was removed from the System?

    yeah, that's correct, torrents that don't make it into undead category are doomed to be gone after 105 days online.
    SpasVstar V.I.P. on May 13th, 2009 / post 29639
    slash wrote:
    the perfect situation is to let only one client run all the time.

    :-)
    As most of us agree there is not a perfect solution to work for every case.
    Personally, knowing the risk of event ID 4226 (half-open connections limit), I run two applications sometimes.
    The second application is Vuze and I use it for three reasons:
  • it switches to normal mode of seeding after having finished Super-seed mode (I don't know what happens when uTorrent reach the end of the job in its Initial Seeding mode).
  • it can initiate a connection (using the Ubdate Tracker) to a peer that cannot connect to me.
  • it has this beautiful function Kick and Ban handy in the context menu to kick and ban unwonted user.

    The problem, I see, when running more than one BitTorent applications simultaneously is the Network load balance between them. But if let them running without speed restrictions they will balance it automatically according to the load and the torrent priority would be valid only within the application.
  • Skype:spas.velev
    SpasVstar V.I.P. on May 14th, 2009 / post 29644
    I would like to say a couple of words about parameters available for tunning the upload/download speed. (Actually it is what I think about them.)

    These parameters are the same in both uTorrent and Vuze and I'll show uT's:

    Options->Preferences->Bandwidth
  • Maximum upload rate
  • Maximum download rate
  • Number of upload slots per torrent
  • Maximum number of connected peers per torrent
  • Global maximum number of connections

    Options->Preferences->Queueing
  • Maximum number of active downloads
  • Maximum number of active torrents (upload or download)

    Global maximum number of connections and Maximum number of connected peers per torrent are related to the System resources and we do not need to worry about them. But I need to say again:
    The connections are logical TCP/IP connections. They can be open and stay open. They do nod need Internet resources. They use only the peer's computer resources.

    Maximum download rate - no need to limit the download speed unless you share the download bandwidth with another application. It will be limited by the ISP.

    Maximum upload rate - no need to limit the upload speed unless you share the upload bandwidth with another application. It will be limited by the ISP.
    If you need to share the bandwidth between applications as long as a BitTorrent application runs 24/7 it is better to limit its upload/download speed manually for the time you need to share the bandwidth.


    Number of upload slots per torrent, Maximum number of active downloads, and Maximum number of active torrent together determine the download speed.

    First of all, it is obvious
    Maximum number of active torrenst >= active torrents = active uploads + active downloads
    Maximum number of active downloads >= active downloads

    and the number of active torrents, active uploads, active downloads can vary.

    Second, download speed essentially depends on the upload speed.
    It is because of that choking/unchoking mechanism, I have mentioned in a previous post, used by the application to find a peer which uploads faster.

    Brian's BitTorrent FAQ and Guide wrote:
  • choked
    When a connection is choked, it means that the transmitter doesn't currently want to send anything on that link.


  • So, it means that if you are uploading to many peers simultaneously it is possible that some slow connections use your bandwidth also. Then some faster uploaders could find you uploading to them not fast enough and they will choke (refuse to upload to) you.

    Of course, first of all the download speed depends on the the number of peers, their upload speed.
    Then, it is possible to tune the application using these three parameters. Obviously there exists not parameters good for every case. But you can try tunning while downloading one torrent only. In this case you need to vary only the Number of upload slots per torrent.

    For some "Good settings" you might want to read this:
    https://www.azureuswiki.com/index.php/Good_settings
    Skype:spas.velev
    moocowdanstar Moderator on May 14th, 2009 / post 29648
    salsab wrote:
    A few people thought it would be a good Idea to have a topic about tuning your client for maximun efficiency.

    First a little about my System... I have a Gateway DX4720-03, With Pentium 2.50 GHZ Dual Core Processor, with 4.0 GB DDR SDram. And Windows Vista 64 bit operating system. I Am on Cable 16 mb Internet Service.

    Currently I am Running Bit-Torrent I allow unlimited Bandwith to all connections.. I allow 16 Active torrent, and 10 upload slots per torrent. Seeding over 600...

    On Average i get up to 12 active seeds.

    I also Run Utorrent Now for new seeds only.. Seeds almost 100 torrents now, and I allow 13 active seeds and 10 upload slots per torrent... Average of 7 active...

    How may I be more efficient for sharing torrents?

    What programs are you guys using, and let us know about your system and how your connected...


    Salsa i am use Utorrent and find it great. I do see that you have had a few things go astray over the past day or two. Previous to this pc i ran a P4 3.0 Ghz 1 GB RAM which seemed to run about 400 torrents, anything over that it started to choke and you had to adjust
    # Maximum upload rate
    # Maximum download rate
    # Number of upload slots per torrent
    # Maximum number of connected peers per torrent
    # Global maximum number of connections

    I now have 2.66 Quad core 4 Gb RAM that seems to handle everything nice and easy. The original workload that i had of 400 is now shared between the two pcs. At present i am well limited by my connection and like slash am not always seeding all torrents as my ISP speed is the limiting factor. I am on a 8mb connection. I truely get about 1.5mb download and about .75mb upload.
    moocowdanstar Moderator on May 15th, 2009 / post 29664
    The drop-down list "Show" let you choose from: Upload&Download, Download, Upload ...

    So, with these tools you can get a much more realistic evaluation of your connection speed.[/quote]

    Thanks for this part SpasV, i had not used this previous but a very good tool to monitor and maximise my upload connection.

    :-)
    SpasVstar V.I.P. on May 15th, 2009 / post 29676
    :-)
    I think a natural approach to tunning the client is:
  • to have a small active downloads/uploads so as you can evaluate them,
  • to open "Peers" window when you can watch Down Speed and Up Speed of the connected peers,
  • to make a change (upload slots per torrent) and to try evaluate it statistically - observing the speeds over some time interval.
  • Skype:spas.velev
    salsablightning Tribal Darkness on May 15th, 2009 / post 29677
    All great advice guys, i think i am running now at maximum efficiency with the Azerus i installed... And I quite like it's extra features... :)

    :mbounce:  :beer2:
    you cannot post in this forum.
    click here to to create a user account to participate in our forum.