Windows Server 2008上的最大tcp/ip连接

zen*_*dar 15 .net windows tcp windows-server-2008

我有.Net服务,通过TCP协议侦听单个端口.客户端连接然后传输数据一段时间(从几分钟到几个小时).

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

编辑:
正如Cloud回答的那样,某些版本的Windows Server 2008似乎存在一些限制.是否有关于这些限制的参考?我尝试了谷歌,但它返回了关于半绑定tcp连接限制的文章.

Len*_*ate 19

有多少用户?

我以前在Windows 2003 Server上运行了一些TCP/IP客户端/服务器连接测试,并在相当低规格的VM上管理了70,000多个连接.(有关详细信息,请参阅此处:http://www.lenholgate.com/blog/2005/10/the-64000-connection-question.html).如果Windows 2008 Server被限制在2003 Server以下,我会感到非常惊讶,而恕我直言,Cloud链接到的帖子太模糊,没有多大用处.这个问题出现了很多,我在博客上写了一篇关于为什么我真的不认为这是你应该在这里真正担心的事情:http://www.serverframework.com/asynchronousevents/2010/12/one-million- tcp-connections.html.

就个人而言,我会测试并看到.即使您打算使用的Windows 2008 Server版本没有固有限制,仍然会有基于内存,处理器速度和服务器设计的实际限制.

如果要运行某些"通用"测试,可以使用我的多客户端连接测试和关联的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内存的Windows 2003 Server VM上创建70,000个活动连接的原因.

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

如果您已经考虑过多个服务器,我会采取以下方法.

  1. 使用我链接到的免费工具并证明您可以在目标操作系统上创建合理数量的连接(注意动态端口上的Windows限制,这可能导致客户端连接失败,搜索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的

  • 既然您已经考虑过多个服务器,我会采取以下方法.第一次使用我链接到的免费工具并证明你可以在目标操作系统上创建合理数量的连接(注意动态端口上的Windows限制,这可能导致客户端连接失败,搜索MAX_USER_PORT).开发期间的第二个定期测试您的实际服务器与测试客户端,可以创建连接,并在服务器上实际"做某事".这有助于防止以限制其可伸缩性的方式构建服务器. (3认同)