【发布时间】:2014-11-24 08:53:40
【问题描述】:
我正在尝试拥有一个服务器,多个客户端需要使用该服务器打开一个 websocket 并发送数据。但看起来很多客户端无法建立连接..
在服务器机器上,当我执行lsof 或netstat -an 时,我看到除了处于ESTABLISHED 状态的连接外,许多连接都显示为FIN_WAIT1 和FIN_WAIT2 状态。截至目前,打开文件的 ulimit 为 1024。
卡在这两种状态的连接会被计入打开文件列表吗?如果是这样的话,1024 的限制很快就会用完。
/proc/sys/net/ipv4/tcp_orphan_retries是0,相当于8好像
https://serverfault.com/questions/274212/what-does-tcp-orphan-retries-set-to-0-mean/408882#408882
我已经查阅了这个链接: https://serverfault.com/questions/7689/how-do-i-get-rid-of-sockets-in-fin-wait1-state
但我不太了解。 我已经在网上阅读了这两种状态,并且我意识到它们是协议的一部分,但我希望连接不会陷入它们无用的状态。 我能以某种方式做到这一点吗?我应该更改ulimit吗?但这只是意味着问题将发生在时间 x+y 而不是 x。
【问题讨论】:
标签: ubuntu tcp websocket connection ulimit