Do you have any best practices or suggestions to spin up each of the modules after a reboot? It hit all the users hard this morning when everyone tried to log in and the cache/pools had not been populated yet.
Events that trigger a recompile:
- Server is rebooted
- IIS is restarted
- Website in IIS is restarted
- Application Pool is recycled (only affects the apps in the app pool)
- A DLL in a web\<app>\bin\ folder is replaced (only affects the <app> where the DLL was replaced)
- A web.config in \web\<app>\ folder is edited (only affects the <app> where the web.config was edited)
Every time an event listed above occurs, .NET has to recompile each application. Also, we cache data into memory to improve overall performance. So, if the apps have not been pre-loaded before users come online, then the first user accessing the app will experience long wait times. Wait times vary based on hardware.
To prevent users from experiencing this initial load wait time, we recommend loading each app following a restart event.
-For planned maintenance windows, a member of IT should manually touch each application. This also ensures your changes did not adversely affect the application.
-For unplanned restarts, you could train your users that initial load times could be slow. Hopefully this doesn't occur too often.
-To cover planned our unplanned, I believe some customers have scripted the app load and kick it off, automatically.
For a guideline, you can follow the verification tests as outlined in Appendix A of the install/upgrade guide. http://www.oracle.com/technetwork/documentation/agile-085940.html#plmprocess.