linux 服务器, 压测, tcp 长连接 并发到 26 万.
内存 CPU 都正常
已经建好的 tcp 连接都正常
就是无法新建 tcp 连接了
现象包括连 百度 都无法 ping 了
ping: www.baidu.com: Temporary failure in name resolution
新启动一个服务, 数据也无法发送了
基本等同完全无法访问网络了, apt update 之类的命令也全部报错失效
1
DinoStray OP 把压测的模拟器都关掉, 一切恢复正常
|
2
Comphuse 2020-01-07 19:03:00 +08:00 1
|
3
codehz 2020-01-07 20:44:28 +08:00
(听起来是因为文件句柄用光了
|
4
julyclyde 2020-01-09 11:29:28 +08:00
你们的客户有 26 万吗
|
5
maxbon 2020-01-11 14:33:17 +08:00
内核调一调,/etc/sysctl.conf
|
7
DinoStray OP 问题已经解决了, 把笔记在这里贴一下吧:
conntrack 限制 所有在内核中由 Netfilter 的特定框架做的连接跟踪称作 conntrack ( connection tracking ) 达到最大限制后, 会报错 nf_conntrack: table full, dropping packet 查看当前系统设置最大连接数 cat /proc/sys/net/netfilter/nf_conntrack_max 查看连接跟踪有多少条目 cat /proc/sys/net/netfilter/nf_conntrack_count vim /etc/sysctl.conf net.nf_conntrack_max = 2000000 临时生效 sysctl -p 永久生效, 还需额外操作 http://xy.am/2015/04/26/nf-conntrack/ 你只需要把 nf_conntrack 加到系统开机模块,就可以用 /etc/sysctl.conf 开机设置它了 echo "nf_conntrack" >> /etc/modules |