After some inactivity, IIS unloads the AppDomain. And then the first request loads the application again, which is slower. You can try to configure this period in the IIS properties, but there may be other reasons why the application is unloaded, for example, a certain CPU or memory usage threshold. These thresholds are also configured in IIS.
This is not something specific for ASP.NET MVC. This is true for all ASP.NET applications in general.
source share