I've been using XBT Tracker (a BitTorrent tracker). On Debian Lenny mostly. My problem is when the tracker reaches a given number of peers, it dies. There is no informative debug message, no dump, nothing. The last Windows release does mention a change which says it fixes this (I think that is the source of our problem), but since I run linux..

So.. What should I use? On which OS?

  • 1
    Can you add more info? What kind of hardware are you running, what kind of internet pipe do you have, about how many peers does it take to cause the issue? Also I would suggest adding what are you hosting on your tracker just so people don't down vote/vote to close the question assuming it's pirated software.
    – Zypher
    Dec 31, 2009 at 20:10
  • Its running on a 775 socket Intel (Core2 series). The load is not an issue, its way below any harmful level (about 0.3?). The network is about 1gbps at max output. The issue occurs about 850k/900k peers. Well.. I dont want to tell the site's name, but I use it to reduce networking costs to be honest. Not pirated software, not illegal stuff. But anyway, I dont want to reveal my identity (for the site's users). Yeah I know .. since I cant guarantee, its your choice to vote me down.. but.. please, help.
    – Apache
    Dec 31, 2009 at 20:36
  • Use uTorrent on Windows. Duh. Dec 31, 2009 at 20:47
  • Uhm..as a tracker? :)
    – Apache
    Dec 31, 2009 at 20:53
  • What's wrong with normal webbased trackers? These are more likely to be resilient to hardware failure and local power failure, as well as not sapping your internet connection. I also agree with you that bittorrent is a fantastic protocol that is unfortunately linked with pirated software and media.
    – Phoshi
    Dec 31, 2009 at 21:14

1 Answer 1


We've been using XBT Tracker (XBTT) on FreeBSD for quite a while. Now we have about 500k+ peers, and they are rapidly growing. And we have an announce interval of 700 second which is very low.

1. The only optimizations for XBT Tracker I've heard of in Linux are:

net.core.netdev_max_backlog = 4096
net.core.somaxconn = 4096

# In case you use listen_check
net.ipv4.ip_local_port_range="1024 65535"

net.ipv4.tcp_syncookies = 1

#Timewait sockets (this can negatively impact clients under NAT)
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1

#Firewall conntrack
net.ipv4.netfilter.ip_conntrack_max = 1048576
net.nf_conntrack_max = 1048576

Do not forget to increase maximum number of opened files:

ulimit -n 1000000

and save changes to limits.conf

2. Our XBT Tracker uses following patch: Listen Queue Len increase

3. This configuration line can be helpful:

listen_check = 0

and also we have very short

read_files_interval = 2
write_db_interval = 3

4. MySQL tuning is required, as minimum you should increase

max_allowed_packet = 48M

5. Also as a side note, on Linux XBTT uses epoll(), while on other OSes it uses select() which is not suitable for highload.

PS. You can check out OpenTracker if nothing helps. But I didn't test it.

  • Thanks for the tips. Will try them out soon.... aaand.. sorry for the late reply. :)
    – Apache
    Jan 30, 2010 at 11:31
  • Thanks Peter! Now it looks better. PS. Sorry English is not my native language as you can see =) Jul 12, 2011 at 11:00

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .