I have an ASPX webpage that does some complex operations and database calls. When I view the webpage by running ASP.NET Development Server (Cassini), it takes about 200m
Configure the application pool used by the web application to enable 32-bit applications:
I used some performance profiling tools (some are free) to compare the performances and to find out the bottlenecks. The free EQATEC Profiler is good enough to allow me compare two reports generated from running Cassini and IIS and identify the method causing the problem. However, the method contains too many lines and I was unable to pinpoint the exact line causing the problem.
Then Redgate ANTS comes in handy. By profiling the method with line-level detail, I found that it was RegEx running very slowly.
Further searching leads me to the answer here: RegEx.Match is much slower in IIS compared to Development Server (Cassini). I am using Windows 7 64bit with IIS 7. Setting the "Enable 32-bit applications" to True solves the problem.
Also, a slightly related reading on running IIS as 32bit or 64bit:
64-bit servers are much more effective when used for databases like SQL Server, or other data management servers (let's say, an enterprise email server like Exchange), than for processing servers, such as IIS or the worker processes it manages.
It will require 64-bit pointers for every lookup, which will make everything a little slower.
Source: What are the pros and cons of running IIS as 32bit vs 64bit on a 64bit OS?