Question

In .NET I have already tried the configuration below successfully:

  <system.net>
    <connectionManagement>
      <add address="*" maxconnection="100"/>
    </connectionManagement>
  </system.net>

Using 100 concurrent HttpWebRequest they answered almost simultaneously (less than a second).

I wonder why some people wrote in some forums that Windows XP and Windows Server 2008 limits this number to 15 or 20. They are right?

Was it helpful?

Solution

It could be because people are confusing the number of inbound SMB connections with the number of TCP/IP connections. SMB is used for file sharing and various other things and is limited to 10 connections in Windows Client OSes.

http://support.microsoft.com/kb/328459

OTHER TIPS

The client versions of Windows are restricted in the number of half-open connections. The 10 limit for XP is well known, Vista has other limits depending on the version (e.g. Home Basic has a limit of 2, Ultimate has 25). You can Google "Patch for Event ID 4226" to alleviate these limits. Post Vista SP2 the behavior is configurable through a registry key.

Windows Server can handle several tens of thousands concurrent inbound connections given enough resources.

Depending on your server version, you have to change some default parameters to allow this many connections see this guide.

The author reports having seen 50.000+ concurrent connections to IIS6 on WS03SP1 x64 with 4GB RAM.

There are connection limitations on uncompleted (new) connections. IIRC, this was rolled into a update a few years ago as an experiment to curtail the spread of certain types of malware. You can safely remove this limit:

http://technet.microsoft.com/en-us/magazine/2007.12.network.aspx

Does that low number you mention only apply to "half-open" connections? I don't know the specifics, but remember reading something about this.

Google Search

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top