我试图从
Linux(RedHat5)框中设置超过65536个传出TCP连接.
我已经配置了传出和接受框以允许足够的文件描述符.
我不认为接受方存在问题 – 我有多个目标框,每个目标框都有多个IP地址,我使用多个端口.
在传出方面,我不相信我达到了每个IP地址的限制 – 我正在使用多个IP地址和端口(我正在为多个IP地址中的每一个打开端口30,000 – 60,000的连接).
是否有一些我缺少的Linux内核可调参数?或TCP的一些基本限制?
失败的是我打开连接的应用程序挂在connect()调用中.
谢谢你的帮助
NickB
解决方法
这是一个有人得到的博客>一箱100万的外出.
> Richard Jones,MetaBrew.com,2008-11-04,Mochiweb的百万用户Comet应用程序,第3部分,第Turning it up to 1 Million节(存档here).
In Part 1,we set the range to “1024 65535” – meaning there are 65535-1024 = 64511 unprivileged ports available. Some of them will be used by other processes,but we’ll never get over 64511 client connections,because we’ll run out of ports.
…
So let’s bring up 17 new IP addresses,with the intention of making 62,000 connections from each – giving us a total of 1,054,000 connections