Estamos usando o XBT Tracker (XBTT) no FreeBSD por um bom tempo. Agora temos cerca de 500k + pares e eles estão crescendo rapidamente. E nós temos um intervalo de anúncio de 700 segundos que é muito baixo.
1. As únicas otimizações para o XBT Tracker de que ouvi falar no Linux são:
#Backlog
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
Não se esqueça de aumentar o número máximo de arquivos abertos:
ulimit -n 1000000
e salve as alterações em limits.conf
2. Nosso Rastreador XBT usa o seguinte patch: Aumentar o aumento da fila de filas
3. Esta linha de configuração pode ser útil:
listen_check = 0
e também temos muito pouco
read_files_interval = 2
write_db_interval = 3
4. O ajuste do MySQL é necessário, no mínimo, você deve aumentar
max_allowed_packet = 48M
5. Também como uma nota lateral, no Linux XBTT usa epoll (), enquanto em outros sistemas operacionais ele usa select () que não é adequado para highload.
PS. Você pode conferir OpenTracker se nada ajudar. Mas eu não testei isso.