系统(计算机)可以处理多少个TCP / IP套接字连接?

时间:2013-09-11 12:24:57

标签: sockets tcp

我一直致力于一个关于TCP / IP套接字连接和通过这些套接字传输消息的项目。我正在连接到具有特定IP地址的UNIX服务器并建立套接字连接。到目前为止,我可以管理来自1台主机的大约16000个连接(在这种情况下,这是我自己的电脑)。当我尝试从其他主机(Mac Osx或Windows PC)建立其他连接时,我达到了相同的最大连接数16000。

我可以在服务器端拥有65536个连接,而我确实坚持这一点。但只有在4台不同的计算机中每台都有16000个连接时。我想知道为什么我有这个以及我如何只从一个主机建立超过16000个连接。

1 个答案:

答案 0 :(得分:2)

在Windows系统上,TCP堆栈受几个注册表参数的约束。它们是晦涩难懂的文档,并且随着更新版本(Vista,Win7,Win8)的发布而发生变化,它们在桌面操作系统和服务器操作系统风格之间也有所不同。

有些KB和MSDN文章涵盖了这个主题:

但是这篇文章更适合您的问题:Avoiding TCP/IP Port Exhaustion。虽然与BizTalk相关,但主题和解决方案都是通用的:增加MaxUserPort并减少TcpTimedWaitDelay careful与后者相比)。您的系统最终支持的细节会有所不同,因此您必须使用这些设置。确保您的测试机器是64位处理器,64位操作系统,并且有足够的RAM(> 4Gb)。

对于OS X,我希望其他人提供详细信息。