My DNN install (4.9.3) is pretty common with a single portal configured, I have a fair number of modules installed (66 including core modules, yes I know a lot, but many are supplemental to the actual module installed - i.e. 66 are listed in the installed modules listing, 3 represent Ventrian News Articles, 3 for Property Agent etc.).
Whenever I recycle my app pool, install a new module or touch the web.config file it seems to force a re-compile of all the modules (at least that’s what I assume), it can often take a couple of minutes for the site to become responsive again. I'm running my instance on a dedicated server and it's more or less the only thing on their (sans a low traffic mail server etc). VBC.EXE pegs the processor until the site comes back to life.
Now I understand the nature of Asp.Net, App Pools and reasoning between choosing a web site project vs. a web application project from a developer perspective to secure your IP vs. compiling pages rather than complete assemblies, but here's my question:
How can I reduce the startup time of my site? Is there something I can do to pre-compile the site / modules? I've already tweaked my App Pool to not recycle as often and/or at opportune times in the early morning, I also have a keep alive service hitting my site but that doesn't help the initial load times. And what’s worse is when I install a new module it seems to recompile everything and take the same amount of time to return to life, so every minor module update is a painful experience...
On a side note after the initial load time there also seems to be an inherent lag on hitting the pages for the first time after an app pool recycle/recompile. Is this the nature of the beast? Or is my site acting out of the norm? Do the pages need to do any compilation themselves when they are first hit or would you write this off as a cache population issue (which I don't agree with as the page will be responsive for days after with no traffic). And if this is the case, does anyone know of a module or keep alive service that will walk the sitemap so as to load each page on the site?
Any feedback would be greatly appreciated...
Thanks, TJ