ASP.NET has an outgoing connection limit which is set to 2 connections by default. It means that the ASP.NET process does not create more than 2 concurrent connections simultaneously, but instead queues them up.

Consider the scenario where you call 4 web services asynchronously from the same method. What happens is that the first two starts to execute, while the next two waits for the first two to finish. The same thing happens for HttpRequests.

That is a waste of time in most cases, so you can raise the connection limit to allow more simultaneous reqests in the web.config.

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

Every asynchronous request is started in its own thread, so you have to be careful not to raise the limit too far. The more CPU’s or cores the web server have, the higher can you set the connection limit.

You can read more about asynchronous requests and the connection limit on MSDN.

Comments

DotNetKicks.com

Trackback from DotNetKicks.com Optimize HTTP requests and web service calls

DotNetKicks.com

Steven Smith

Trackback from Steven Smith Optimize ASP.NET HTTP Connection Limit

Steven Smith

NinjaCross

Nice shoot. This is often an under-looked argument, and it's so strange if you consider that it's one of the most important. Anyway, it's so hilarious the first section of the MSDN article you linked... it starts with "The Scenario: Performance Devastation ..." :D

NinjaCross

DotNetKicks.com

Trackback from DotNetKicks.com Optimize HTTP requests and web service calls

DotNetKicks.com

blogzaa.com

Pingback from blogzaa.com BlogZaa &raquo; Blog Archive &raquo; ASP.NET, ASP.NET AJAX, Visual Studio and .NET

blogzaa.com

Zvika Rap

Sorry, but this was only true for ASP.NET 1.1 ... In ASP.NET 2.0, however, you no longer need to configure maxConnection manually as it is now automatically scaled and set. More details: http://www.microsoft.com/technet/technetmag/issues/2006/11/InsideMSCOM/

Zvika Rap

Blocks4.NET Team Blog

Trackback from Blocks4.NET Team Blog Optimize HTTP Requests

Blocks4.NET Team Blog

mundeep.wordpress.com

Pingback from mundeep.wordpress.com HTTP 2 Connection Limit &laquo; Point Deep

mundeep.wordpress.com

Comments are closed