2014-02-19 34 views
0

我在2011年末使用XCode 5.0在Mac OSX中编写服务器程序MBP,OS是10.8.5。 我正在使用cocoaasyncockets(https://github.com/robbiehanson/CocoaAsyncSocket)。我尝试了cocoaasyncsocket下载中的echoserver例子。Mac OsX套接字限制TCP连接,如何增加?

我尝试了一个负载测试,并在大约2550个连接建立,它停止接受/建立连接。我试图增加这个数字,而且我会诚实地说,我“可能”弄乱了我的配置(主要是使用sysctl -w调用,所以当我启动时它恢复到它的默认值),但是就我而言,2550连接限制仍然存在 当我重新启动并在第二天继续尝试时,我注意到发生同样情况的新限制只有250个连接,并且我无法通过该限制。

我也试过在mac mini 2011上(我从来没有改变任何配置这个mini的东西,它和香草一样),连接限制也是250个连接。

我想操作系统正在限制最大连接数,这是我的问题: 如何增加OSX允许的最大连接数?

我打算至少得到32k tcp连接,现在我甚至不知道它是否可能。 这可能是我的无线路由器的问题?

在此先感谢。

+0

是否有可能使用其他资源限制可以同时处理的套接字数量? –

+0

我已阅读了博客条目,并遵循了其中的步骤(这是我在第一天所做的很多尝试中的一项,我今天也尝试过),但结果没有改变。我也不认为其他资源的使用是限制因素,因为Mac是2011年4GB RAM的型号,并且没有任何其他资源正在运行(另外,由于我无法理解的原因,昨天我获得了2.5k连接,今天我只能得到250,同样的机器 - 为什么减少?)。 我不在我的路由器上使用NAT。 我相信我看到有人在同一台机器/操作系统上报告10.5k连接(不幸的是我不记得在哪里)。 – user3329949

+0

@KillianDS临时端口的数量不相关。这是一台服务器,而不是客户端。它只需要一个端口。 – EJP

回答

2

可能迟到还想补充这个..

确实有同样的问题。只需使用ulimit -n来增加打开的文件来表示10000并从多个进程连接客户端即可解决问题。我将2500个连接分配到每个进程,并可以创建10k个连接。

希望这会有所帮助。

+0

我无法在OSX上更改它。 – newguy