We are currently in the process of upgrading our 32bit production server to a more powerful 64bit server whilst upgrading to ASP.NET 4. However, upon doing some light load testing we seem to be having a performance decrease!
I have created a simple load test with a constant load of 20 users performing a few simple use cases and compared the results:
As you can see, the highest performing config is the existing 32 bit server with ASP.NET 2.0.
You can see that by running IIS in 32 bit mode on the 64 bit machine, its fairly comparable to the existing 32 bit server, but when running IIS in 64 bit mode on the 64bit server - the performance is significantly poorer. I'm unsure why this is, given the new server is better.
For some reason, every time I run the test with IIS in 64bit, there is a large spike at the start, then it evens out but still with a higher response time than 32bit. The spike goes away when I run IIS in 32 bit mode.
Note that the app pool/app isn't being restarted between the tests, yet the spike is consistently there and the response higher than other configurations.
So - my question is: does anyone have any idea why this is? Are there any config settings I need to set? Does anyone have some pointers on how I can narrow down what's causing the difference?
Current production server: Win Server 2003 - 32bit - IIS6
New server: Win Server 2003 R2 - 64bit - IIS6