Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

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

I have an application running on a Hyper V 2008 R2 instance (2GB memory). The application is running on mvc 3.0 and .Net 4.0.

This is a low traffic internal application (1 - 2 requests per second).

We are experiencing an alarming number of application slow downs which we cannot pin point the cause.

This is a screenshot of stuck connection (more than 60 seconds time) in RequestAcquireState: enter image description here

The server is a fresh installation of IIS7 and Windows Server 2008 (as recent as 10 days ago) and the only web application in the VM. We also use MSMQ in the application pool so that the app can broadcast messages to the queue.

There are 5 thin clients using NComputing terminal connected to one machine that access the web application.

share|improve this question

I think you probably want to take this to StackOverflow for a deeper dive - I'm pretty sure that whatever answer you get will require either settings fiddling of throttling limits in a web/machine.config file, or redevelopment of the application code.

Casting an eye over the requests being processed, I notice they're all from a very low number of client IPs; some components are known to serialize access from the same IP (or to the same session - is it all the same user with those connections open?) sometimes.

If this isn't simply post-recycle slowness, and a big-picture performance analysis of the host and particularly IO contention (epic disk queue?) doesn't address it, I'm not sure there's an IIS-level setting that's going to fix it. (unless it doesn't happen on a fresh one).

Easiest method to troubleshoot it: Grab a dump of the process in Task Manager, then debug that with PSSCOR2, try to work out what all the waiters are waiting on, and whether there's a nasty little "maxSomethings=2" in there. Or a greedy exception handler that doesn't clean up, which again, puts us back in SO territory.

share|improve this answer

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.