We have an application where a low response time is crucial. Everything is working fine except for a few time per week where 1 random call takes around 5000ms to complete vs 200ms for other calls. A call is made a few seconds before so it is not related to the dlls being unloaded. The time is random, there is no App pool recycling involved.
IIS Time taken : 5000ms
ASP.NET\Request Execution Time : 5000ms
Our counters in the code : 200ms (Log at the beginning and at the en of execution)
It seems the call is stuck somewhere before our code is hit. We monitored the perf counters and when this happens the call is not queued and there is no wait time.
IIS config has been optimized with custom processModel values (as described in http://support.microsoft.com/kb/821268) for better throughput.
We monitored the disks, network, memory and CPU and everything looks okay.
What could cause such a spike (IIS thread allocation maybe?) What other counter beside the obvious ASP.NET, .NET CLR, System, Thread, could help us?
Config : Windows 2003 SP2 (hosted on VMWare ESX)
IIS 6
.NET Framework 3.5