linux tcp 性能,性能 – 耗尽Linux机器TCP套接字限制(~70k)?

torservers.net的创始人遇到了在运营Tor退出节点时达到TCP连接限制的问题,尤其是在使用Gbit连接和多个IP的情况下。目前总计约70k的TCP连接,且遇到了地址已在使用的情况。已尝试多种内核参数调整仍未解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我是torservers.net的创始人,这是一个运营Tor退出节点的非营利组织.我们有许多关于Gbit连接和多个IP的机器,我们似乎在所有这些机器上达到了开放TCP套接字的限制.我们总共徘徊在约70k的总TCP连接(每个IP大约10-15k),并且Tor正在记录“绑定网络套接字错误:已经在使用的地址”就像疯了一样.这有什么解决方案吗? BSD会遇到同样的问题吗?

我们运行Tor进程,每个进程都监听不同的IP.例:

# NETSTAT=`netstat -nta`

# echo "$NETSTAT" | wc -l

67741

# echo "$NETSTAT" | grep ip1 | wc -l

19886

# echo "$NETSTAT" | grep ip2 | wc -l

15014

# echo "$NETSTAT" | grep ip3 | wc -l

18686

# echo "$NETSTAT" | grep ip4 | wc -l

14109

我已经应用了我可以在互联网上找到的调整:

# cat /etc/sysctl.conf

net.ipv4.ip_forward = 0

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_synack_retries = 2

net.ipv4.tcp_syn_retries = 2

net.ipv4.conf.default.forwarding = 0

net.ipv4.conf.default.proxy_arp = 0

net.ipv4.conf.default.send_redirects = 1

net.ipv4.conf.all.rp_filter = 0

net.ipv4.conf.all.send_redirects = 0

kernel.sysrq = 1

net.ipv4.icmp_echo_ignore_broadcasts = 1

net.ipv4.conf.all.accept_redirects = 0

net.ipv4.icmp_ignore_bogus_error_responses = 1

net.core.rmem_max = 33554432

net.core.wmem_max = 33554432

net.ipv4.tcp_rmem = 4096 87380 33554432

net.ipv4.tcp_wmem = 4096 65536 33554432

net.core.netdev_max_backlog = 262144

net.ipv4.tcp_no_metrics_save = 1

net.ipv4.tcp_moderate_rcvbuf = 1

net.ipv4.tcp_orphan_retries = 2

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 0

net.ipv4.tcp_max_orphans = 262144

net.ipv4.tcp_max_syn_backlog = 262144

net.ipv4.tcp_fin_timeout = 4

vm.min_free_kbytes = 65536

net.ipv4.netfilter.ip_conntrack_max = 196608

net.netfilter.nf_conntrack_tcp_timeout_established = 7200

net.netfilter.nf_conntrack_checksum = 0

net.netfilter.nf_conntrack_max = 196608

net.netfilter.nf_conntrack_tcp_timeout_syn_sent = 15

net.nf_conntrack_max = 196608

net.ipv4.tcp_keepalive_time = 60

net.ipv4.tcp_keepalive_intvl = 10

net.ipv4.tcp_keepalive_probes = 3

net.ipv4.ip_local_port_range = 1025 65535

net.core.somaxconn = 262144

net.ipv4.tcp_max_tw_buckets = 2000000

net.ipv4.tcp_timestamps = 0

# sysctl fs.file-max

fs.file-max = 806854

# ulimit -n

500000

# cat /etc/security/limits.conf

* soft nofile 500000

* hard nofile 500000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值