.net - Windows Server 2008 上的最大 tcp/ip 连接数

标签 .net windows tcp windows-server-2008

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

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

编辑:
正如 Cloud 回答的那样,Windows Server 2008 的某些版本似乎有一些限制。这些限制有任何引用吗?我试过谷歌,但它返回有关限制半绑定(bind) tcp 连接的文章。

最佳答案

有多少用户?

我过去在 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 版本没有固有限制,但仍会存在基于内存、处理器速度和服务器设计的实际限制。

如果您想运行一些“通用”测试,您可以使用我的多客户端连接测试和相关的回显服务器。详情在这里: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

关于.net - Windows Server 2008 上的最大 tcp/ip 连接数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1636397/

相关文章:

paypal - 使用 Paypal 结帐重置连接

php - 是否可以重新使用故意打开的套接字?

c# - 如何为 MVVM 样板代码扩展 Prism

linux - 如何在 Windows 10 开发者预览版中启用 Bash?

c# - Azure:无需定义附加配置即可获取服务证书

Windows 10 崩溃,无法启动

windows - 启动 IE 的自定义协议(protocol)处理程序 - 不一致的结果

mysql - 通过向 dst 和 src 发送 RST 来强制关闭 TIME_WAIT 连接?

c# - 在 Linux 中运行 .NET exe

c# - 如果你不引用它的所有依赖项,你可以使用类库吗?