I am using dotTrace Performance 4.5 to profile a .NET 3.5 C# web application. When I record one "user request" (load of page), I see 11 threads with approximately the same timing, 7644 ms.
- Most of the thread descriptions only contain: 100% [Native or optimized code] - 7644 ms
- One says: 100%
Microsoft.VisualStudio.WebServer.WebServerApp.Main(String[])
- Last one reads:
- 86%
System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object)
- 14%
PerformWaitCallback
(1094 ms) >> 12% =ProcessRequest
- 86%
Can you tell me:
- Why are there so many threads? (images resources, AJAX, JavaScript)
- What is
PerformWaitCallback
? - Why 7644 ms for only 1094 ms of work?