[bittorrent] Fwd: Load questions

Alan McGovern alan.mcgovern at gmail.com
Sat Dec 2 08:38:32 EST 2006


(forgot to send to mailing list originally ;) )

It's impossible to guess how many peers a tracker can take before it grinds
to a halt without doing extensive testing. If each torrent tracked takes
20kB + 200bytes * (Number of peers in that torrent) and you assume an
average of 1000 peers per torrent (gross overestimation) that would be 137kB
per active torrent.

That'd give 10,000+ active torrents and 10+ million active peers with a mere
2gb of ram (ignoring all overheads involved in running the tracker, and the
overheads would probably be quite substantial once you start receiving large
numbers of announces). So with a slightly more realistic (but still
exaggerated) load of 10,000 active torrents with 50 active peers per torrent
you're looking at about 100megs of ram.

Now, assuming an announce period of 30 minutes that's 5500+ announces per
second. A typical announce/response would be at least 1kB in size so thats
5500kB/sec sustained transfer rate every second, that ain't so bad. Of
course, i could be well off the ball here, but the only way to prove me
wrong is to benchmark an active tracker.

Then of course you run into OS limitations. Each of those 5000 sockets takes
ram and CPU time to create and destroy. Some OS's can't handle 5000
simultaneous connections. If the number of announces goes up, the bandwidth
used goes up. Depending on the implementation in the backend, performance
could deteriorate hugely the more torrents you host, or performance could
decrease linearly, or maybe performance won't decrease that drastically. Who
knows.

Alan.


On 12/2/06, Joseph Ashwood <ashwood at msn.com> wrote:
>
> ----- Original Message -----
> From: "Olaf van der Spek" <olafvdspek at gmail.com>
> Sent: Saturday, December 02, 2006 2:12 AM
> Subject: Re: [bittorrent] Load questions
>
>
> > It depends a lot on the tracker itself.
> > PHP can in general handle up to 40k peers,
>
> That obviously won't cut it then.
>
> > XBT Tracker (C++) can
> > handle up to at least 800k peers.
>
> What class of process/memory? It's one thing to say that about a BlueGene,
> another to say that about a PII, I'm thinking that's about the level of a
> P4
> @ 3GHz. Also is XBTT written in such a way that it can be clustered, and
> have multiple copies running locally, if so what are the limitations (e.g.
> shared torrents?), or would I have use virtualization for that?
>
> > RAM is no issue for XBTT and the
> > first bottleneck most operators encounter is network bandwidth.
>
> I already know bandwidth is going to be the choking point on this
> (primarily
> because of the seeding of rare files), and that is why the final
> implementation for this will likely preference peer-of-peer referrals to
> tracker referrals. RAM may not normally be an issue, but when you're
> trying
> to make something as dense as possible it becomes one, what kind of RAM
> usage is expected, and what is a rough upper bound for XBTT?
>                 Joe
>             Joe
>
>
> _______________________________________________
> BitTorrent mailing list
> BitTorrent at lists.ibiblio.org
> http://lists.ibiblio.org/mailman/listinfo/bittorrent
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ibiblio.org/pipermail/bittorrent/attachments/20061202/8c473a1d/attachment.html 


More information about the BitTorrent mailing list