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.
<add address="*" maxconnection="8"/>
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.