« Agile BizTalk Development | Main | Salesforce.com and SSSB adapters on Adap... »
Steve attributes this behavior to a limitation (design flaw?) in the way .NET is doing the async calls and the way it uses the threadpool for that. However, seeing the "2 concurrent requests" magical number, I wonder if this might be impacted by something else entirely: The 2-connections-to-a-single-server limit imposed by the HttpWebRequest class to comply with the recommendations in the HTTP spec.
I've had several encounters with this limitation where it can severely limit your concurrency if you're doing a lot of webservice calls to the same service (or to services hosted on the same server, more precisely). Fortunately, it's easy to work around by modifying your configuration file:
<system.net>
<connectionManagement>
<add address="*" maxconnection="15"/>
</connectionManagement>
</system.net>
Tess has a pretty extensive description of debugging and fixing the kind of problems this limitation can cause on live systems. I wonder if changing this would change the results of Steve's test...
About
Tomas Restrepo is a software developer located in Colombia, South America. His interests include .NET, Connected Systems, PowerShell and lately dynamic programming languages. More...
email: tomas@winterdom.com msn: tomasr@passport.com
Syndicate
Ads
Links
Categories
Statistics
Blogroll
Post Archive
Other
Copyright © 2002-2008, Tomas Restrepo.
Powered by: newtelligence dasBlog 2.1.8102.813