Note that there are some explanatory texts on larger screens.

plurals
  1. POSlow ASP.NET app load times - Can I track/trace/time the whole load cycle?
    primarykey
    data
    text
    <p>The ASP.NET web app project I'm currently working on is getting slower over time to re-load (In IIS or the .NET dev server). Currently it takes:</p> <ul> <li>1:28 minutes to load via an F5 debug</li> <li>41 seconds to refresh in browser, after a build (not rebuild)</li> </ul> <p>The machine's reasonably fast - A Core 2 Quad 2.40ghz, 8 gig o' RAM, running the dev machine under HyperV with 2 gig o' RAM allocated to the dev VM.</p> <p>Is there a way to trace / report on the the entire cycle of that initial load? If I could see how long it takes the basic IIS worker process to start, load DLLs, run the actual .NET code, that'd be great.</p> <p>I know I can use a profiler on the code - which hasn't turned up any ultra-slow DB connection establishment times, but I'd like to have some insight on the performance of the stuff before the actual page is processed. I can see the CPU monitor hit 100% for a bit in the middle of the process, RAM usage jump a little - but am looking for better insight to hopefully trim things a little.</p> <p>Though I didn't take any measurements at the start of the project (4 months ago), I'm entirely certain the reload was a relative breeze.</p> <p>Any help much appreciated, Programmer-who-can-only-drink-so-much-coffee-while-a-build-occurs.</p> <h2><strong>Update:</strong></h2> <p>JetBrain's <strong>dotTrace</strong> was excellent (for this instance), thanks. It had the perfect interface to start a web project, and quickly highlighted that most of the time was being taken in <strong>Application_Start()</strong> (in <em>Global.asax</em>).</p> <p>The other options wouldn't have picked this up, as:</p> <ul> <li><p>The <em>Trace</em> option only starts from PreInit, missing the Application_Start() call.</p></li> <li><p>The <em>StopWatch</em> calls would have required me to know where to look, or revert to the good old days of printf-style debugging...</p></li> <li><p><em>nprof</em> wants to target a .exe, which would miss the target area when trying to attach to fresh w3wp.exe instances...</p></li> </ul>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload