I read a very nicely done piece on MSDN about how the ASP.NET 2.0 pipeline, even though it is more complex than the ASP.NET 1.1 pipeline, has been optimized to be 30 percent faster.
"Great!", I thought. "Let's do a couple of tests."
So I whipped up a page in ASP.NET 2.0 that just outputs "Testing...", and removed all extraneous HTML from the ASPX portion except the FORM Tags. Did the same in ASP.NET 1.1. Pages were substantially identical, being designed primarily to test the pipeline itself - get a request, set up and process the Page, send it out.
I did two sets of tests on each using "Homer", 1 with 100 threads, no delay. and another with 100 threads, a 10X multiplier (the equivalent of 1000 simultaneous requests), and no delay between requests.
In both cases, the ASP.NET 2.0 pipeline was SLOWER, not faster. Both sets were compiled and run in Release, not Debug mode.
I suppose I should consider the fact that it is still BETA, but - SLOWER? Guess we'll be running more tests. . .
Anybody want to comment on this? I have plenty of experience doing web stress testing, having several weeks experience at the MS Testing Lab in Charlotte, NC. This is with IIS 6.0 on Windows Server 2003 64-Bit running on an AMD Athlon x64 3400+ with 2 G RAM.
NOTE: I did have a brief interchange with MS about this and after talking with them, I believe that the discrepancy has a lot to do with ASP.NET 2.0 running under 64-bit WOW. Unfortunately as of right now, the only other machines I've been able to test this on are Windows XP with a 10 connection limit, where it appears that there is less of a discrepancy between the 2 frameworks when both are running under 32 bit IIS. However, I certainly did not notice a "30%" faster pipeline. Having said that, I suppose that anybody really interested in pursuing this should do 2 things:
1) Run different kinds of tests - with both simple and complex pages. Run them on 32 bit only, and then if possible, 64-bit under wow64 and compare the results.
2) Ultimately, wait until RTM since that's really where the "HTTP Request meets the Browser" so to speak.