Isolating a Raw Process in IIS
You can take a process memory dump and push it with windbg.
posts on this issue from Tessa Ferrandes' blog. Just do as she says.
source to share
What version of IIS are you using? Some of the higher ones allow you to decouple the process that is used to process requests, such as a workflow that you could isolate a little more. I also suggest reading the IIS logs to see what requests are being processed, how long they took, etc.
There are many different quirks for each version of IIS. The really low ones only had start / stop functions, but the newer ones did give administrators more control and power, IMO.
source to share
Try using a profiler to determine what is using the most resources. I've used dotTrace Profiler , although it can be expensive if you're on a tight budget.
This allows you to see exactly which processes and method calls are taking the longest request processing time, so you can isolate the most resource-intensive operations.
You should really use any profiler for this, not just dotTrace. I just have experience with this in particular.
source to share
Change your web garden settings to 10 or more. Then keep an eye on your CPU and memory usage on the web server.
Keep increasing the web garden setting until the application is fully responsive with an average usage of less than 5%, or you have actually maximized your web server memory.
UPDATE
This is not about diagnosing, but about properly configuring the IIS server. Web gardens are one of the main misunderstood features of IIS. By increasing the available threads to handle new requests, you remove the web server-level competitor's look and feel and place it right where it belongs. In this case, your database. Instead of masking the problem, it really pinpoints exactly where the problem is.
source to share