Recent Posts



« | Main | »

How it all started

By supergrobi | January 21, 2007

So how does it happen that you suddenly own a tracker on wich thousands of clients fire requests like there is no tomorrow?

Of course, we started with a small tracker (two years ago with the original python code) on a dyndns managed homerouter. It all went well, some friends used it for fast sharing things with other friends. Somehow the news got around and it handled more and more requests through the 128kbit/s uplink connection, so we had to change the provider – with a 1024kbit/s uplink it handled alot more. But when it reached ca. 90req/sec we decided it is too much for the uplink again (hey, we do occasionally also needs some bandwidth for downloading FreeBSD ISOs!). Dyndns decided to cut us off anyway for violating their policy (no service which has to do anything with filesharing).

So it was time to move the tracker to another machine with more bandwidth. There it served 160 req/sec right from the beginning. But it was still the old pythontracker source from Bram Cohen and the machine wasn’t that fast – only a 650MHz PIII. Adding a second CPU helped somewhat but the pythontracker is not threaded, so the only benefit was that the tracker could consume one complete CPU and the second CPU was free for other services on the system. We pushed about 1Mbit/s both ways back then. In December we decided to throw money at the problem and bought a new server. The fast machine handled the tracker well, but there were too much failed connections and it still used about 20-25% of one 2.4GHz Core of a Core2Duo CPU. So we decided to write our own tracker. A friend of ours took the job to do it. After some testing, debugging and drawbacks the tracker was finally ready to replace the pythoncode.

cpu usage over the year

We started the new opentracker and thought it wasn’t working. Where the pythoncode needed ca. 20-25% cpu the new opentracker needed 0,00%. But we checked the requests and it really worked. I don’t give any details here because I think there will be an extra blogentry for that. It is now running since ten days. the opentracker now serves ca. 380 req/sec on ca. 10000 torrents at peaktimes. It has alot fewer failed connections now with the faster software and already pushes 2Mbit/s in and outgoing.

To really get this thing flying we will try to put it on some torrentsites upload pages.

Now you think maybe what is so exciting about running a piece of software on a piece of hardware? The problems are just begin to start. “Das Internet ist keine Blümchenwiese” (The internet is not a meadow gay with flowers ;-) )

There are nasty TCP/IP stacks and clients out there. Then there are ISPs who seems to not like bittorrent and alot of users which don’t behave very nice to our TCP/IP stack. We will report on that later.

Keep On Rocking In A Free World!


Topics: history | Comments Off

Comments are closed.