首页 文章

Windows服务器上允许的理论最大打开TCP连接数是多少[关闭]

提问于
浏览
0

在我的Windows服务器上,我打开一个端口,侦听来自多个客户端的传入TCP连接 . 在Windows服务器上打开的端口上可以同时 Build 套接字连接的唯一客户端数量是否有限制?其中一个主题What is the theoretical maximum number of open TCP connections that a modern Linux box can have讨论了Unix平台上允许的文件描述符限制的套接字连接数 . 最新的Windows服务器有这样的限制吗?如果是这样,如何改变这个限制?

2 回答

  • 5

    基于an answer by a MSFT employee

    这取决于版本,Web和Foundation版本具有连接限制,而Standard,Enterprise和Datacenter则没有 .

    虽然正如Harry在另一个答案中提到的那样,有一个开放TCP连接的设置,其限制超过16M .

    但从技术上讲,你可能有大量的连接,但是存在限制数量的实际问题:

    • 每个连接由服务器地址和端口以及客户端地址和端口标识 . 从理论上讲,两台机器之间可以拥有的连接数量非常大,但通常服务器使用一个限制数量的端口 . 也很少有单个客户端会打开数千个连接,但在NAT情况下它可能看起来像

    • 服务器每秒只能处理一定数量的数据和数据包,因此高速数据传输或大量小数据包可能导致数量下降

    • 网络硬件可能无法处理所有流量

    • 服务器必须为每个连接分配内存,这再次限制了数量

    • 服务器所做的也是一个重要问题 . 它是一个实时游戏服务器还是一个系统提供国际象棋之间的动作,让人们一次想到他们的动作15分钟

  • 2

    除了Sami的答案中概述的许可和实际限制之外,实际上还有一个可配置的限制,即同时打开的连接数由TcpNumConnections设置决定 . 默认值也是最大值,仅为16M .

    (链接的文档适用于Windows 2003.更高版本的Windows Server的相应文档似乎不存在 . 但是,我找不到任何暗示该设置已被删除的内容 . )

    In practice, however, 在你达到这个目标之前很久你就会遇到萨米答案中提到的实际问题 . (当然,除非系统管理员手动更改了设置 . )

相关问题