在.NET中,我已经成功尝试了以下配置:
<system.net>
<connectionManagement>
<add address="*" maxconnection="100"/>
</connectionManagement>
</system.net>
使用100个并发的HttpWebRequest,他们几乎同时回答(不到一秒钟)。
我想知道为什么有些人在某些论坛中写道,Windows XP和Windows Server 2008将此数字限制为15或20.他们是对的?
答案 0 :(得分:16)
Windows的客户端版本限制了半开连接的数量。 XP的10限制是众所周知的,Vista有其他限制,具体取决于版本(例如Home Basic的限制为2,Ultimate有25)。您可以通过Google“事件ID 4226补丁”来缓解这些限制。发布Vista SP2后,行为为configurable through a registry key。
Windows Server可以在给定足够资源的情况下处理数万个并发入站连接。
根据您的服务器版本,您必须更改一些默认参数以允许此多个连接,请参阅this guide。
作者报告说,在WS03SP1 x64上使用4GB RAM,已经看到与IIS6的50.000多个并发连接。
答案 1 :(得分:8)
可能是因为人们将入站SMB连接的数量与TCP / IP连接的数量混淆。 SMB用于文件共享和各种其他操作,仅限于Windows客户端操作系统中的10个连接。
答案 2 :(得分:5)
未完成(新)连接存在连接限制。 IIRC,这是几年前的一次更新,作为减少某些类型恶意软件传播的实验。您可以安全地删除此限制:
http://technet.microsoft.com/en-us/magazine/2007.12.network.aspx
答案 3 :(得分:2)
你提到的这个低数字只适用于“半开”连接吗?我不知道具体细节,但请记住阅读有关此事的内容。