Hi,
I am seeing time gaps on elapsed time between web request coming in and the moment .net starts processing them. I have attached a picture which shows an example. It's not consistent and can take from 1ms to 1000ms, sometimes its fast and sometimes its slow. There is no other component in between.
Is there a way to put this time difference in a graph? I would like to see how this time gap evolves over time.
Any ideas to what might be causing this? (CPU, Mem, Disk all seem healthy).
Regards,
Patrick
Answer by Ditmar P. ·
Hi Andreas,
Thanks for your reply!
Your first suggestion indeed is the simplest way to graph this. However I have put a measure on the "Method -> Exec Time" as well as the "Method -> Time" for the Web request node in the PurePath. When I chart these in a graph I do not get any data for both.
Any idea why ? (see attached screen)
Answer by Andreas G. ·
Hi Patrick
You could try to chart the Execution Time of the Web Request (create an Exec Time Measure on that Method Node) or the Tier Subpath Time (thats also a separate measure you can create). You can then chart it over time and figure out when you see your spikes.
As for the root cause of it
a) It is either a native module in IIS that takes time, e.g: Authoriztion, URL Rewrites, Content Compression, ..
b) it could be that it is related to very large request/response sizes that IIS needs to read or write back to the browser. In combination with low bandwidth this can consume time. Best here is to look at the request/reponse size details of the request
c) if you say it happens sporadically when the .NET Process starts it could be that the time is taken by the .NET CLR to fully initializes after the ASP.NET Engine has been shutdown due to inactivity or due to a scheduled restart of the AppPool Worker Process. Then the first request will just naturally take longer before IIS can pass the request to .NET
d) you have a lot of traffic coming in on IIS but all your ASP.NET WOrker Threads are busy because they are still processing other requests. That will mean that new requests have to queue up before they can get processed. There are several ASP.NET and IIS Performance Counters that you can look at, e.g: Requests Queued, ...
Hope this helps
JANUARY 15, 3:00 PM GMT / 10:00 AM ET