Hang diagnostics 2.0 are out for ASP.NET apps!
This was a major rewrite of the diagnostic algorithm, and a complete redesign of the interface.
Some of the biggest changes:
1. Visualize IIS/ASP.NET execution flow
. This is basically a pretty diagram showing exactly where requests were executing during the hang, and how the IIS & ASP.NET engines were performing. Really helps understand where the hang was taking place and who was the blame.
2. Better diagnostic insight
We’ll identify things like threadpool exhaustion, concurrency issues, server resource exhaustion, and give best practices on how to fix the hang given these findings. So the stuff that you’d normally pay someone thousands of dollars to tell you.
3. Support for Classic ASP apps
Because we cannot analyze threads for Classic ASP scripts, we leverage script-level trace data to identify the functions/SQL queries that the ASP script is hanging on. Pretty cool stuff and usually spot on for most Classic ASP hangs.
More about the new hang diagnostics
The interface is really sleek as well, you can see/search all blocked requests, broken into the areas causing blocking, and see the app code/modules that caused the slowdown.
There are also a number of advanced features that I’ll write about shortly, including being able to perform advanced debugging actions for hangs.
Read more at Fix IIS & ASP.NET hangs faster with Hang diagnostics.
Umesh
Hi –
I receive 503 service unavailable, when I run my application using ApplicationpoolIdentity / service account. .
We run the application in a secure environment.
When I further debug using process monitor I see a access denied to C:\WINDOWS\SYSTEM32\INETSRV/CONFIG\SCHEMA
Jamie
Hi Mike,
Do you think LeanSentry would help me with the following?
From time to time we are running into an issue where we have many requests with the following state in IIS: RequestAcquireState.
We are using SqlSessionStateStore to manage sessions. When we have many requests in this state they eventually time out and go away. Sometimes they are there for over an hour.
What I do see when we have these hung sessions is an increase in the executions of the stored procedure TempGetStateItemExclusive3 in the ASPState database. Up to 2,000 every few seconds. Not good.
I was hoping someone could help me with the following questions:
1. How do these sessions hang
2. Do they cause any harm other than the increased db activity
3. Is it possible to kill the individual requests safely
4. Many people suggest a restart of the AppPool this is not good for people currently using the system
5. Is there a way of identifying these sessions in the ASPState database and what happens if you delete them
Thanks in advance for any help.