Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We recently moved our ASP.NET 4.0 application from Windows2003 x64/IIS 6 VM to a new Windows 2008 x64 RC2/IIS 7(7.5) VM. The resources are identical 4GB Memory, 4 CPU, both live on the same ESX host. I've attempted to match every conceivable iis configuration setting, caching, compression etc. between the two. Nevertheless, according to external performance monitoring by both alertsite and gomez, response times have doubled since cutover.

"Time to first byte" averages have increased by a few tenths of a second across the board. "Content" delivery time has increased by a full second across the board. "Full page download" has increased by several seconds across the board.

To confound matters further, we started with a two-node windows2008 farm, using ncache to cluster session, and a brocade load balancer, and saw a 2-5x increase in response times. We then dropped back down to just one server and bypassed the Load balancer to get back to a 2x increase in response times.

The fact that the load balancer made things worse, and that the bulk of the response time increase was in the content/base-page and fullpage download metrics, makes me think its something network related, or at least at the IIS level, where it simply isn't responding as fast as IIS6.

I'm hoping I've overlooked some key setting, because I can't fathom how upgrading both the OS and the doubling the resources (adding second node) resulted in worse performance.

I realize this isn't much information to go on, so I'm just looking for any suggestions about where to look or how to diagnose this. Suggestions on which perfmon counters to look at, what to look for and what they mean would help. Wild guesses welcome.

share|improve this question

migrated from Sep 19 '11 at 9:08

This question came from our site for professional and enthusiast programmers.

Is the application running in 64-bit mode? Have you checked the application pool settings? – James Johnson Sep 15 '11 at 22:51
@James, thanks for the question, I should've mentioned that. The app pool is running in 32bit mode, same as it was on IIS6. – JNappi Sep 15 '11 at 22:55
up vote 1 down vote accepted

See my blog post here. I had the same issues. Network copies are probably slow too.

share|improve this answer
That's a good one. I'll dig into to it. thanks. – JNappi Sep 16 '11 at 0:19
No problem. I disable this feature on all my VM's and Host machines for both VMware and Hyper V. It tends to do more harm then good. – tsells Sep 16 '11 at 0:22
It turned out to be NIC duplexing issue on the firewall which was different between the two server subnets. I'm gonna give you credit since you were one the right track. – JNappi Sep 19 '11 at 15:00

Are you running the app pool in "Classic" mode or "Integrated" mode? There is some overhead introduced by running in "Classic" mode that you may want to look into. You can read more about it here. Note that your app may not be able to just run in "Integrated" mode without some slight changes to work harmoniously within the IIS7 pipeline.

All this said, I'm not sure it would explain your situation exactly... especially if you are truly talking about serving up static file system based content. If you have custom handlers in the middle though, it could certainly be related.

share|improve this answer
We're running in integrated mode. And yes we had to make a few tweaks to the global.asax to accomplish this. But custom handlers is a good suggestion about where to look. We do have a urlrewriter, not sure why that would behave differently in ii7 but its a lead. – JNappi Sep 15 '11 at 23:09

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.