Isolating a Raw Process in IIS

I have a web server that is bound and I was able to allocate it to a specific instance of the website. I would like to go deeper and isolate the specific page / process that is causing the problem. Any advice?

+1


source to share


5 answers


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.

+2


source


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.

0


source


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.

0


source


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.

0


source


This turned out to be a SQL problem (sql 2005). A solution was found using the SQL Activity Monitor to identify a suspended process with an Async_network_io wait type. We then ran a SQL profiler to narrow it down to two massive queries that returned redundant results.

0


source







All Articles