Archived

This topic is now archived and is closed to further replies.

vector

How many torrents should I try to seed at once?

Recommended Posts

I am a member at a couple of private trackers where I'd like to maximize my uploads. My download speeds don't really matter because 90% of the time I will be uploading only. The tracker lets me seed many torrents (anywhere from 20 to unlimited) at once if I want, and typically most torrents will have no leechers (there are far more seeders than leechers). So at any given time I will be seeding maybe 200 torrents of which 40 will have peers and 10 will be connected to the peers uploading.

I'm just wondering how much it would increase my total (non-overhead) upload rate to stop the seeds that have no peers (or are not connected to any peers) in order to seed the ones with connected peers more quickly. Typically the total upload rate displayed in utorrent is around 70KB/s, and the speed test for my connection scores around 2500/500 in KB/s.

In other words, what is the TCP/IP overhead for a torrent (or 10, 100 torrents etc) which is seeding but not connected to any peers (or if there are no peers) and how many torrents should I leave open for seeding at once? Also, what limits should I use for connections/per torrent, connections/global and upload limit (if any)?

I have a 3000/800 connection which scores around 2500/500 on a speed test. Thank you.

Share this post


Link to post
Share on other sites

It's also very important to keep your upload slots PER torrent low in the rare case a couple torrents have 10 or more peers downloading on them. Otherwise, you end up splitting your limited upload speed to less than 1 KB/sec per peer.

Your overhead is also dependant on how many of the ips in the torrent are firewalled/seeds themselves and how high your net.max_halfopen + bt.connect_speed is set at. If you have a high setting on them, you'll see more churn and higher bandwidth useage. My net.max_halfopen is only 4, and my bt.connect_speed is only 10. I still ramp up pretty fast on torrents if I'm only running a couple at a time.

Share this post


Link to post
Share on other sites

How low should i keep the upload slots per torrent? The Speed Guide recomments 100 per torrent, but I suspect that is for maximizing downloads, not uploads. Should I restrict it further? No torrent has more than 20 leechers at once anyways, and most have just one or two leechers, but I could consider restricting it to 5 or 10.

As for the overhead thing, do you think the overhead of the seeding-but-not-uploading torrents is eating into the upload bandwidth (and could you guess by how much for ~100 seeding torrents with no leechers and average settings)?

I will try reducing my net.max_halfopen and bt.connect_speed as you said to see if it helps. (EDIT - It seems to increased uploads about 10%, thanks)

Share this post


Link to post
Share on other sites

You misread. :P

The speed guide was probably talking about the number of connections allowed per torrent.

Upload Slots are the number of actual peers you upload to at once PER torrent.

So instead of it being 100, 20, 10, or even 5...it probably should be no more than 3 if you're running LOTS of torrents at once. Even setting upload slots per torrent to 1 would probably do no harm, though 2 is probably better than either 3 or 1.

You actually want to set connections per torrent to around 10-20. This is assuming there's ever that many peers on any given torrent. :)

Just having to maintain a connection to the tracker for so many torrents (and requesting ip lists for who's on those torrents) is probably eating less than 5 KB/sec down+up speed for every 100 torrents. The tracker isn't contacted but once every 3-15 minutes for each torrent, and is often contacted for multiple torrents at once to save bandwidth.

Trying all the ips on a torrent varies, which is why I said to reduce the retry/connect rate (half-open and all). At the default settings, 100 torrents with 20 seeds+peers on them would probably be like retrying all 2,000 ips every minute...though µTorrent could be smart enough to slow down retrying if it gets through its whole list in under a minute or 2. So, retrying 2k ips every minute would be 33.3 ips per second -- far greater than half-open and bt.connect would allow! So my math's bad somewhere. :D

At a half-open rate of 8, that'd be probably only 100 or so ips retried per minute...because a connection can be in half-open state for a second even if not firewalled and until dropped (15 seconds?) if firewalled. Each ip connect attempt probably only costs 1/10th to 1/2 a KB. ...maybe more if protocol encryption has to be negotiated.

Seems to be too many variables to just give you a simple answer -- and I haven't studied it anywhere near enough to tell.

Share this post


Link to post
Share on other sites

OK, I've corrected my misread.

I set "Maximum number of connected peers per torrent" = 50 (peers sometimes reach around 50 for new torrents)

I set "Upload slots per torrent" = 5

I set "Global Maximum Number of Connections" = 450 (recommended by speed guide)

I set the net.halfopen=4 and bt.connect_speed=10 as you said earlier.

Did I get it right this time? Are there any more changes you'd like to suggest?

Share this post


Link to post
Share on other sites

Yes, reduce "Maximum number of connected peers per torrent" to only 10-20. Reason being is even if there are 50 or more peers on that torrent, it costs too much extra bandwidth to try to stay connected with them all...especially if you're only uploading to 5 at a time (5 upload slots). So if there's more than 20 peers on a torrent, once you get connected to 10-20 of them then µTorrent should quit attempting new ips for that torrent.

The goal is to quickly get the pieces out so peers can share them with each other, not to upload to every peer.

Share this post


Link to post
Share on other sites

OK you said 10-20 so I set it to 15. However, my goal isn't to get the pieces out, it's to maximize uploads. Will this do that?

Share this post


Link to post
Share on other sites

That's probably the old BT spec for upload slot speed, and I bet it was only "recommended" rather than required.

Upload slots can run as slow as 1 KB/sec per peer before they start to break BitTorrent protocol rules and recommendations. (I've gone into depth on this in my BitComet cheats thread awhile back.) However they run best between 3 KB/sec for the low end and 10-20 KB/sec for the high end. The reason why there *IS* a high end...is because you want to get back at least nearly as much as you give while downloading. If you're uploading at 10+ KB/sec PER upload slot, almost nobody can upload equally as fast back PER upload slot because they either have their upload slots set high, upload speed max set low, or are running too many torrents at once or all the above! On the other hand, it doesn't matter if you're a seed -- you're actually better off uploading very fast per upload slot to get whole pieces out quickly...unless there's lots of hit-and-runners on the torrent.

Maximizing upload speed and getting pieces out as fast as possible is nearly the same thing. If you could count on the other end being fast and never choked, uploading to a single ip would be the fastest in terms of upload. And if that single ip was also uploading rapidly itself, that would also get pieces out the fastest. If you set upload slots really high, not only would total upload speed drop off, but much of what you uploaded would become duplicate data and make alot of your efforts wasted.

There is a balance between upload speed and upload slots that depends on the typical makeup of the peers/seeds of the torrents you're on. If there's lots of hit-and-runners, you don't want to use just 1 upload slot per torrent -- as you may upload a whole lot to someone who'll just stop the torrent when it finishes downloading. If the torrent's being posioned (or lots of people using D-Link routers in gaming DMZ mode), then you don't want your upload slots set really high -- as you'll be more likely to get banned by peers for sending bad data...because your upload slot speed is lower and others (the real posioners) will have more time to fill in the gaps.

Both hit-and-runners and posioners should be nearly nonexistant on good private trackers, so 1 upload slot per torrent should work just fine. ...and even while downloading there's no reason to set upload slots over 4, as so many people are trying to seed those torrents anyway.

Share this post


Link to post
Share on other sites