Optimize HTTP requests and web service calls

May 29, 2007

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.

* Only $4.95/month ASP.NET & Windows 2008 + IIS 7 Hosting! FREE SQL Included

Comments (2) -

NinjaCross
NinjaCross Italy
5/31/2007 2:50:18 PM #

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 ..." Laughing

Zvika Rap
Zvika Rap Israel
6/6/2007 8:24:36 PM #

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: www.microsoft.com/.../

Pingbacks and trackbacks (6)+

Comments are closed

About the author

Mads Kristensen

Mads Kristensen
Program Manager at the Microsoft Web Platform team and founder of BlogEngine.NET.

More...

Month List

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer’s view in any way.