I have an IIS 6 server serving an application using a mix of classic ASP and ASP.NET.
I'm increasingly getting problems where the number of requests in the ASP.NET requests queue (observed using the ASP.NET\Requests Queued counter) starts to increase to a point where the server can no longer service the requests. That happens a three or four minutes from the point where queued requests starts increasing. Recycling the application pool restores service.
Normally, requests queued is zero and occasionally there'll be small spikes but it seems that once or twice a day, a number of requests are blocking the queue and queued requests starts to increase.
I suspect there are network problems causing clients to lose their connection (and re-submit their request) and the requests in the queue continue despite losing their client.
How can I diagnose the problem? Can I look at the status of requests in the queue? Do I need the MS Debug Diagnostic Tool or one of these tools?
I've discovered that the MS Trace Diagnostics tool (IISReqMon) from this list of "Useful tools and add-ons for IIS troubleshooting and IIS7" will give me information about the current worker processes and their requests in an application pool.
Not much help in debugging, but I would suspect a deadlock in code rather than network as IIS is pretty well debugged as far as connectivity. I would not expect it to fail like that.
I'm guessing your site has got busier of late, hence the deadlock issues.