FreeBSDbuild立连接Maxing在300

我们之前在我们的环境中遇到了问题,似乎我们正在达到FreeBSD的最大连接限制。 我们采取行动http://nginx.org/en/docs/freebsd_tuning.html并提高了我们的连接限制为500:kern.ipc.somaxconn:500

我们仍然有问题,我们希望看到从客户端到这个特定服务器的额外连接,我们不是,他们错过了。

我们不知道这是一个应用程序问题还是一个networking问题。 但是我想知道现在是否还有其他限制,可能是build立了最大连接数?

这里有一些图表显示了我们的连接行为,看起来奇怪的是它有300个连接的限制:

连接到上述框缺少命令

我们的服务器上丢失的命令的大概数量^

编辑:
有关应用程序的更多详细信息:应用程序是一个tclsh(tcl shell),它使用套接字应用程序侦听特定的tcp端口来接收连接。 也许这是一些基于tcl的限制或套接字应用限制?

故障排除详细信息:当我运行nmap基本上“平”一遍又一遍所需的端口

for i in {1..600}; do nmap -p 2069 serverIP; done 

我似乎得到了以下与netstat:

 netstat -Lan | grep 2069 tcp4 193/0/128 *.2069 tcp4 193/0/128 *.2069 tcp4 193/0/128 *.2069 tcp4 193/0/128 *.2069 

这似乎意味着我实际上超出了kern.ipc.somaxconn的默认值。 但是我们已经把这个值设定得比默认值高得多。

即使我监视build立的连接使用:

 netstat -an | grep 2069 | wc -l 

在2069年我只能得到192个连接的总数。意思是这个端口不能接受更多的连接。

似乎它实际上是一个应用程序的限制。 监听2069套接字的进程最多可以build立192个监听连接。

我假设很多应用程序都是按照这些限制来构build的,somaxconn可能会增加总的可允许的侦听套接字与应用程序的实际构build。

文件句柄出现在我的脑海里。 首先检查ulimit -n (或者,取决于shell, limit -n ),如果它返回1024 。 如果是这样,使用ulimit -n 16384limit -n 16384左右来提高文件句柄限制。 看看是否有帮助。