代码之家  ›  专栏  ›  技术社区  ›  zendar

Windows Server 2008上的最大TCP/IP连接数

  •  15
  • zendar  · 技术社区  · 15 年前

    我有一个.NET服务,它通过TCP协议在单个端口上侦听。客户机连接并传输数据一段时间(从几分钟到几个小时)。

    Windows 2008服务器上的连接数有限制吗?我没有打任何,因为现在有多达50个用户。计划是有成千上万的用户,所以我想知道将来是否会有问题。

    编辑:
    正如cloud所回答的,在某些版本的WindowsServer2008中似乎存在一些限制。有没有关于这些限制的参考?我试过谷歌,但它返回的文章限制了半绑定的TCP连接。

    2 回复  |  直到 13 年前
        1
  •  19
  •   Len Holgate    13 年前

    有多少成千上万的用户?

    我以前在Windows2003服务器上运行过一些TCP/IP客户机/服务器连接测试,在一个低规格的虚拟机上管理了超过70000个连接。(详情请参见此处: http://www.lenholgate.com/blog/2005/10/the-64000-connection-question.html )如果Windows2008服务器被限制在2003服务器以下,而且imho,云链接到的文章太含糊,无法使用,我会非常惊讶。这类问题经常出现,我在博客上写到为什么我不认为这是你真正应该担心的事情: http://www.serverframework.com/asynchronousevents/2010/12/one-million-tcp-connections.html .

    就我个人而言,我会测试看看。即使您打算使用的Windows2008服务器版本没有固有的限制,但基于内存、处理器速度和服务器设计的实际限制仍然存在。

    如果您想运行一些“通用”测试,可以使用我的多客户端连接测试和相关的echo服务器。这里详述: http://www.lenholgate.com/blog/2005/11/windows-tcpip-server-performance.html 这里: http://www.lenholgate.com/blog/2005/11/simple-echo-servers.html .这些是我用来运行我自己的服务器框架测试的,这些测试允许我在一个有760MB内存的Windows2003服务器虚拟机上创建70000个活动连接。

    编辑以添加以下评论的详细信息…

    如果您已经考虑多个服务器,我将采用以下方法。

    1. 使用我链接的免费工具 向你自己证明 可以创建合理数量的 连接到目标操作系统 (注意窗户限制 动态端口可能导致 客户端连接失败,搜索 对于 MAX_USER_PORT )

    2. 在开发过程中,定期用测试来测试实际服务器 可以创建连接的客户端 实际上“做点什么” 服务器。这将有助于防止 你以这样的方式构建服务器 限制其可扩展性。请参见这里: http://www.serverframework.com/asynchronousevents/2010/10/how-to-support-10000-or-more-concurrent-tcp-connections-part-2-perf-tests-from-day-0.html

        2
  •  3
  •   pyrocumulus    15 年前

    数量有限制 half-open connections ,但afaik不用于活动连接。尽管它似乎取决于Windows2008服务器的类型,但至少根据 this MSFT employee :

    这取决于版本、网络和 基础版本有连接 标准、企业和 数据中心没有。